1. 程式人生 > >資料結構知識點彙總

資料結構知識點彙總

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.

13、已知二叉樹的後序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是(cedba)。#過程見文章:點選開啟連結

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 個元素。        注: 當 rear<front 時, 元素個數=總容量-( front -rear ); 當 rear>front 時,元素個數= rear -front 。

50、判斷一個連結串列是否存在環:點選開啟連結

        單鏈表中元素的反轉:點選開啟連結

        判斷兩個陣列中是否有相同的數字:點選開啟連結

        從一個子序列中找出其

        按單詞反轉字串:點選開啟連結

        刪除陣列中重複的元素:點選開啟連結

1、陣列和連結串列的區別

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

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

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

2、連結串列的基本操作:反轉,是否存在環,迴圈連結串列點選開啟連結和雙向連結串列點選開啟連結的查詢、插入、刪除操作。

3、棧的入棧和出棧:點選開啟連結,佇列的入隊和出隊:點選開啟連結

4、二叉樹的基礎知識:點選開啟連結及其三種遍歷(遞迴和非遞迴實現):點選開啟連結

5、圖的基礎知識:點選開啟連結

6、常用雜湊函式和衝突消解機制:點選開啟連結

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

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

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

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

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

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

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

9、熟悉演算法的思想:貪心演算法,動態規劃,分治演算法。

參考:https://www.cnblogs.com/houjun/p/4896268.html