資料結構 複習知識點彙總

2021-10-23 07:43:42 字數 3863 閱讀 5408

1、用鍊錶表示線性表的優點是(便於插入和刪除操作)

2、單鏈表中,增加頭結點的目的是(方便運算的實現)

3、棧和佇列的共同特點是(只允許在端點處插入和刪除元素)

4、棧通常採用的兩種儲存結構是(線性儲存結構和鍊錶儲存結構)

5、佇列具有(先進先出)的特徵,棧具有(後進先出)的特徵。

6、鍊錶(插入和刪除不需要移動元素,但是無法隨機訪問任一元素)

7、迴圈鍊錶的主要優點是(從表中任一結點出發都能訪問到整個鍊錶)

8、線性表(除了第乙個和最後乙個元素外,其餘每個元素都有乙個直接前驅和直接後繼)

9、線性表的順序儲存結構和線性表的鏈式儲存結構分別是(隨機訪問的儲存結構、順序訪問的儲存結構)

10、深度為5的滿二叉樹中,葉子結點的個數為(16)。其共有(31)個結點。

設一棵完全二叉樹共有699個結點。則該二叉樹的葉子結點數為(350)個。

#完全二叉樹總的結點數為n,若n為奇數,則葉子結點數為(n+1)/2;若n為偶數,則葉子結點數為n/2。

11、具有3個結點的二叉樹有(5)種形態。 #高度為2層的是:根-左-右。高度為3層的是:根-左-左、根-左-右、根-右-右、根-右-左。

12、一棵二叉樹中有3個葉子結點,有8個度為1的結點,則該二叉樹中總的結點數為(13)個。

#葉子結點數n0與度為2的結點數n2的關係是:n0=n2+1,所以度為2的結點個數為3-1=2。所以總的結點數為 n=n0+n1+n2, 8+2+3=13.

14、已知二叉樹的前序遍歷序列是abdgcefh,中序遍歷序列是dgbaechf,它的前序遍歷序列是(gdbehfca)。

15、演算法是指(解決方****而完整的描述)。

16、演算法由(順序、選擇、迴圈)控制結構組合而成。

17、演算法的時間複雜度是指(演算法執行過程中所需要的基本運算次數)。

18、演算法的空間複雜度是指(執行過程中所需要的儲存空間)。

19、演算法分析的目的是(分析演算法的效率以求改進)。

20、資料的儲存結構是指(資料的邏輯結構在計算機中的表示)。

21、資料的邏輯結構是指(反映資料元素之間邏輯關係的資料結構)。

22、根據資料結構中各元素之間前後件關係的複雜程度,可將資料結構分為(線性結構和非線性結構)。

線性結構一般是首無前驅,尾無後繼,中間元素有唯一的前驅和後繼。主要有:列表、鍊錶、佇列、棧。

非線性結構主要有1、沒有對應關係的 集合。2、一對多關係的 樹。3、多對多關係的 圖。

23、(佇列,迴圈佇列,順序表)不具有記憶功能,(棧)具有記憶功能。

24、遞迴演算法一般需要用(棧)來實現。

#在遞迴演算法的執行過程中,需要利用棧來儲存其運算結果、引數和返回位址等。

25、演算法的五個基本特徵是:可行性,確定性,和擁有足夠的情報

有限性:演算法在執行有限步後必須終止。

確定性:演算法的每個步驟都需要精確地定義,嚴格地、無歧義的執行。

輸入:演算法在執行之前賦給它的量。

輸出:演算法執行結束時的結果。

可行性:演算法原則上能夠精準地執行,而且人們用紙和筆做有限次運算後即可完成。

26、由兩個棧共享乙個儲存空間的好處是(節省儲存空間,降低上溢發生的概率)。

為了不發生上溢錯誤,就必須給每個棧分配乙個足夠大的儲存空間。但實際中,很難準確地估計,若每個棧都分配過大的儲存空間,勢必造成系統空間緊張;若讓多個棧共用乙個足夠大的連續儲存空間,則可利用棧的動態特性使它們的儲存空間互補

27、需要印表機輸出資料時,一般將列印作業放在乙個(佇列)中。

28、非空的迴圈單鏈表head的尾結點(由 p 所指向) ,滿足(p->next=head )。

29、與單鏈表相比,雙向鍊錶的優點是(更容易訪問相鄰結點)。

30、31、n個頂點的連通圖中邊的條數至少為(n-1)條。#將所有頂點連成一條線即可

32、n個頂點的強連通圖中邊的條數至少為(n)條。#將所有頂點連成一條圈

33、對長度為n的線性表進行順序查詢,最壞情況下需要比較(n)次。

34、最簡單的交換排序是(氣泡排序)。

35、對長度為n的線性表進行順序氣泡排序,最壞情況下需要比較(n(n-1)/2)次。

#一共比較n-1遍,第1遍需要比較n-1次,第1遍需要比較n-2次,........最後一遍需要比較1次。是乙個等差序列,對其進行求和即可。

36、在序列基本有序的情況下,效率最高的方法是(a) #如果將插入排序換為氣泡排序,則選氣泡排序

a.插入排序   b.選擇排序   c.快速排序   d.堆排序

插入排序通過資料元素的交換來逐步消除線性表中的逆序,所以比較的次數與初始排列次序有關,在待排序的元素序列基本有序的前提下,效率最高。而選擇排序和堆排序的比較次數與初始排列次序無關。快速排序雖然與初始排列次序有關,但在待排序的元素序列基本有序的前提下,效率低於插入排序。

37、希爾排序屬於(插入類排序),堆排序屬於(選擇類排序)。

38、在下列幾種排序方法中,要求記憶體量最大的是(d).

a.插入排序  b.選擇排序  c.快速排序  d.歸併排序

快速排序的基本思想是,通過一趟排序將待排序記錄分割成獨的兩部分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,再分別對這兩部分記錄繼續進行排序,以達到整個序列有序;插入排序的基本操作是指將無序序列中的各元素依次插入到已經有序的線性表中,從而得到乙個新的序列;選擇排序的基本思想是:掃瞄整個線性表,從中選出最小的元素,將它交換到表的最前面(這是它應有的位置),然後對剩下的子表採用同樣的方法,直到表空為止;歸併排序是將兩個或兩個以上的有序表組成合成乙個新的序列表。

39、已知資料表 a中每個元素距其最終位置不遠,為節省時間, 應採用(直接插入排序)。

40、資料結構是指相互有關聯的( 資料元素 )的集合。

41、資料元素之間的任何關係都可以用 (前驅和後繼) 關係來描述。

42、順序儲存方法是把邏輯上相鄰的結點儲存在 (物理位置) 相鄰的儲存單元中。

43、棧的基本運算有三種:入棧、退棧與讀棧頂元素。

44、佇列主要有兩種基本運算:入隊和退隊。

45、在實際應用中,帶鏈的棧可以用來收集計算機儲存空間中所有空閒的儲存結點,這種帶鏈的棧稱為 (可利用棧) .

46、棧和佇列通常採用的儲存結構分別是 鏈式儲存和順序儲存。

47、當迴圈佇列非空且隊尾指標等於對頭指標時, 說明迴圈佇列已滿,不能進行入隊運算。這種情況稱為 (上溢)

48、當迴圈隊列為空時, 不能進行退隊運算, 這種情況稱為 (下溢)。

49、在乙個容量為 25 的迴圈佇列中, 若頭指標 front=16 , 尾指標 rear=9 , 則該迴圈佇列中共有 18 個元素。        注: 當 rearfront 時,元素個數= rear -front 。

1、陣列和鍊錶的區別

陣列不允許動態地定義其大小,只能夠將其定義成足夠大小,這樣可能會造成空間的浪費。

陣列在記憶體中是順序的儲存,可以以o(1)時間查詢元素,但是需要o(n)時間插入和刪除元素(因為其後面的元素都需要跟著移動)。

鍊錶可以動態地定義其大小。其在記憶體中是鏈式的儲存,訪問元素是需要從頭開始向後順序訪問,所以需要o(n)時間查詢元素;如果在所需位置直接插入或刪除元素,需要o(1)時間,如果在需要先找到所需位置再插入或刪除元素,需要o(n)時間。

7、排序演算法中基本的氣泡排序、選擇排序、插入排序需要很快地用**實現。堆排序、歸併排序、快速排序需要掌握其主要思想,並熟悉常用排序演算法的時間和空間複雜度,及其應用範圍:

(1) 當資料規模較小時,直接採用直接插入排序或直接選擇排序。

(2) 當資料已經基本有序時,可以用直接插入排序或氣泡排序。

(3) 當資料規模較大時,可以用快速排序。當記錄隨機分布時,快速排序的平均時間最短。當最壞情況時,其時間複雜度為o(n2),空間複雜度為o(n)。

(4) 堆排序所需的輔助空間比快排少,但這兩種方法都不穩定。

(5) 歸併排序既可以用於內部排序,也可以用於外部排序,是一種穩定的演算法。

8、能熟練寫出二分查詢的程式。

資料結構知識點複習

一 綜述 資料結構作為軟體開發的必須基礎,不僅實用,一般找工作時也常常考到。因此寫篇文章,梳理一下資料結構這個知識點的基本框架與結構。程式設計 資料結構 演算法 資料結構 存在特定關係的資料元素的集合 邏輯結構包含 集合結構 線性結構 樹結構和圖結構 物理結構包括順序儲存於鏈式儲存 演算法特點 輸入...

資料結構期末複習知識點詳解

第二章 線性表 1 線性表順序儲存結構和鏈式儲存結構的特點 順序儲存時,相連資料元素的存放位址也相鄰,邏輯與物理統一 記憶體中可用的儲存單元都是連續的 優點 儲存密度大,易於查詢和修改 缺點 插入和刪除元素時不方便,儲存空間利用率低,預先分配空間可能造成浪費。鏈式儲存時,相鄰資料元素可以隨意存放,儲...

資料結構 知識點

定義 度 兒子數 分支節點 除了根和葉子的節點 根的深度為1 資料結構的分類 資料結構分為邏輯結構和物理結構。邏輯結構 表現資料之間的關係的一種資料結構,分為線性結構和非線性結構。物理結構 表現資料如何儲存的一種資料結構,通常分為順序結構 鏈式結構 索引結構和雜湊結構。有序表,也叫有序線性表,資料按...