當前位置:才華齋>計算機>計算機二級>

2017年計算機二級考試msoffice知識積累:資料結構與演算法

計算機二級 閱讀(1.11W)

1.1演算法

2017年計算機二級考試msoffice知識積累:資料結構與演算法

(1)概念:演算法是指一系列解決問題的清晰指令。

(2)4個基本特徵:可行性、確定性、有窮性、擁有足夠的情報。

(3)兩種基本要素:對資料物件的運算和操作、演算法的控制結構(運算和操作時問的順序)。

(4)設計的基本方法:列舉法、歸納法、遞推法、遞迴法、減半遞推技術和回溯法。

2.演算法的複雜度

(1)演算法的時間複雜度:執行演算法所需要的計算工作量。

(2)演算法的空間複雜度:執行演算法所需的記憶體空間。

1.2資料結構的基本概念

資料結構指相互有關聯的資料元素的集合,即資料的組織形式。其中邏輯結構反映資料元素之間邏輯關係;儲存結構為資料的邏輯結構在計算機儲存空間中的存放形式,有順序儲存、鏈式儲存、索引儲存和雜湊儲存4種方式。

資料結構按各元素之間前後件關係的複雜度可劃分為:

(1)線性結構:有且只有一個根節點,且每個節點最多有一個直接前驅和一個直接後繼的非空資料結構。

(2)非線性結構:不滿足線性結構的資料結構。

1.3線性表及其順序儲存結構

1.線性表的基本概念

線性結構又稱線性表,線性表是最簡單也是最常用的一種資料結構。

2.線性表的順序儲存結構

元素所佔的儲存空間必須連續。

元素在儲存空間的位置是按邏輯順序存放的。

3.線性表的插入運算

在第i個元素之前插入一個新元素的步驟如下:

步驟一:把原來第n個節點至第i個節點依次往後移一個元素位置。

步驟二:把新節點放在第i個位置上。

步驟三:修正線性表的節點個數。

在最壞情況下,即插入元素在第一個位置,線性表中所有元素均需要移動。

4.線性表的刪除運算

刪除第i個位置的元素的步驟如下:

步驟一:把第i個元素之後不包括第i個元素的n-i個元素依次前移一個位置;

步驟二:修正線性表的結點個數。

1.4棧和佇列

1.棧及其基本運算

(1)基本概念:棧是一種特殊的.線性表,其插入運算與刪除運算都只在線性表的一端進行,也被稱為“先進後出”表或“後進先出”表。

棧頂:允許插入與刪除的一端。

棧底:棧頂的另一端。

空棧:棧中沒有元素的棧。

(2)特點。

棧頂元素是最後插入和最早被刪除的元素。

棧底元素是最早插入和最後被刪除的元素。

棧有記憶作用。

在順序儲存結構下,棧的插入和刪除運算不需移動表中其他資料元素。

棧頂指標top動態反映了棧中元素的變化情況

(3)順序儲存和運算:入棧運算、退棧運算和讀棧頂運算。

2.佇列及其基本運算

(1)基本概念:佇列是指允許在一端進行插入,在另一端進行刪除的線性表,又稱“先進先出”的線性表。

隊尾:允許插入的一端,用尾指標指向隊尾元素。

排頭:允許刪除的一端,用頭指標指向頭元素的前一位置。

(2)迴圈佇列及其運算。

所謂迴圈佇列,就是將佇列儲存空間的最後一個位置繞到第一個位置,形成邏輯上的環狀空間。

入隊運算是指在迴圈佇列的隊尾加入一個新元素。

當迴圈佇列非空(s=1)且隊尾指標等於隊頭指標時,說明迴圈佇列已滿,不能進行人隊運算,這種情況稱為“上溢”。

退隊運算是指在迴圈佇列的隊頭位置退出一個元素並賦給指定的變數。首先將隊頭指標進一,然後將排頭指標指向的元素賦給指定的變數。當迴圈佇列為空(s=0)時,不能進行退隊運算,這種情況稱為“下溢”。

1.5線性連結串列

在定義的連結串列中,若只含有一個指標域來存放下一個元素地址,稱這樣的連結串列為單鏈表或線性連結串列。

在鏈式儲存方式中,要求每個結點由兩部分組成:一部分用於存放資料元素值,稱為資料域;另一部分用於存放指標,稱為指標域。其中指標用於指向該結點的前一個或後一個結點(即前件或後件)。