1. 程式人生 > >資料結構總複習刷題查漏補缺

資料結構總複習刷題查漏補缺

一.判斷總結

1-54

對於順序儲存的長度為N的線性表,訪問結點和增加結點的時間複雜度分別對應為O(1)和O(N)。 (1分)

T

順序表有隨機訪問特性----O(1),連結串列沒有所以是O(N)

其他插入刪除兩個差不多平均都是O(N)

1-55

若某線性表最常用的操作是存取任一指定序號的元素和在最後進行插入和刪除運算,則利用順序表儲存最節省時間。 (2分)

T

一提到順序表插入刪除想一個詞:移動!!!

1-56

對於順序儲存的長度為N的線性表,刪除第一個元素和插入最後一個元素的時間複雜度分別對應為O(1)和O(N)。 (1分)

F

同上題:一提到順序表插入刪除想一個詞:移動!!!

1-76

在具有N個結點的單鏈表中,訪問結點和增加結點的時間複雜度分別對應為O(1)和O(N)。 (1分)

F

都是O(N)

1-77

將長度分別為m,n的兩個單鏈表合併為一個單鏈表的時間複雜度為O(m+n)。 (1分)

F

時間複雜度為O(1),如果是兩個連結串列都是有序的,合成一個有序連結串列的時間複雜度為O(M + N)

1-147

不論是入佇列操作還是入棧操作,在順序儲存結構上都需要考慮"溢位"情況。 (2分)

T

這個是肯定的。。。

二.選擇總結

2-5

在資料結構中,與所使用的計算機無關的資料結構是()。 (2分)

  1. 邏輯結構
  2. 儲存結構
  3. 邏輯結構和儲存結構
  4. 物理結構

2-28

h為不帶頭結點的單向連結串列。在h的頭上插入一個新結點t的語句是:(1分)

  1. h=t; t->next=h->next;
  2. t->next=h->next; h=t;
  3. h=t; t->next=h;
  4. t->next=h; h=t;

2-48

計算機演算法必須具備輸入、輸出和()等五個特性。 (2分)

  1. 可行性、可移植性和可擴充性
  2. 可行性、確定性和有窮性
  3. 確定性、有窮性和穩定性
  4. 易讀性、穩定性和安全性

2-71

線性表L=(a1, a2 ,……,an )用一維陣列表示,假定刪除線性表中任一元素的概率相同(都為1/n),則刪除一個元素平均需要移動元素的個數是()。 (2分)

  1. n/2
  2. (n+1)/2
  3. (n-1)/2
  4. n

2-80

將兩個結點數都為N且都從小到大有序的單向連結串列合併成一個從小到大有序的單向連結串列,那麼可能的最少比較次數是: (2分)

  1. 1
  2. N
  3. 2N
  4. NlogN

2-84

將長度為n的單鏈表連線在長度為m的單鏈表之後的演算法的時間複雜度為( )。 (2分)

  1. O(1)
  2. O(m)
  3. O(n)
  4. O(n+m)

2-98

將線性表La和Lb頭尾連線,要求時間複雜度為O(1),且佔用輔助空間儘量小。應該使用哪種結構? (2分)

  1. 單鏈表
  2. 單迴圈連結串列
  3. 帶尾指標的單迴圈連結串列
  4. 帶頭結點的雙迴圈連結串列

2-99

(neuDS)在連結串列中若經常要刪除表中最後一個結點或在最後一個結點之後插入一個新結點,則宜採用()儲存方式。 (2分)

  1. 順序表
  2. 用頭指標標識的迴圈單鏈表
  3. 用尾指標標識的迴圈單鏈表
  4. 雙向連結串列

2-112

與單鏈表相比,雙鏈表的優點之一是()。 (2分)

  1. 插入、刪除操作更加簡單
  2. 可隨機訪問
  3. 可以省略表頭指標或表尾指標
  4. 順序訪問相鄰結點更加靈活

2-140

若已知一佇列用單向連結串列表示,該單向連結串列的當前狀態(含3個物件)是:1->2->3,其中x->y表示x的下一節點是y。此時,如果將物件4入隊,然後佇列頭的物件出隊,則單向連結串列的狀態是: (1分)

  1. 1->2->3
  2. 2->3->4
  3. 4->1->2
  4. 答案不唯一

2-141

在一個鏈佇列中,front和rear分別為頭指標和尾指標,則插入一個結點s的操作為( )。 (2分)

  1. front=front->next
  2. s->next=rear;rear=s
  3. rear->next=s;rear=s;
  4. s->next=front;front=s;

2-143

在一個不帶頭結點的非空鏈式佇列中,假設f和r分別為隊頭和隊尾指標,則插入s所指的結點運算是( )。 (2分)

  1. f->next=s; f=s;
  2. r->next=s; r=s;
  3. s->next=s; r=s;
  4. s->next=f; f=s;

2-166

如果一棵非空k(k≥2)叉樹T中每個非葉子結點都有k個孩子,則稱T為正則k叉樹。若T有m個非葉子結點,則T中的葉子結點個數為:(3分)

  1. mk
  2. m(k−1)
  3. m(k−1)+1
  4. m(k−1)−1

作者: DS課程組

單位: 浙江大學

2-167

有一個四叉樹,度2的結點數為2,度3的結點數為3,度4的結點數為4。問該樹的葉結點個數是多少?(2分)

  1. 10
  2. 12
  3. 20
  4. 21

2-173

三叉樹中,度為1的結點有5個,度為2的結點3個,度為3的結點2個,問該樹含有幾個葉結點? (3分)

  1. 8
  2. 10
  3. 12
  4. 13

2-220

如果G是一個有36條邊的非連通無向圖,那麼該圖頂點個數最少為多少?(3分)

  1. 7
  2. 8
  3. 9
  4. 10

2-233

一個有N個頂點的強連通圖至少有多少條邊? (2分)

  1. N−1
  2. N
  3. N+1
  4. N(N−1)

2-38

給定一有向圖的鄰接表如下。從頂點V1出發按廣度優先搜尋法進行遍歷,則得到的一種頂點序列為: (2分)

  1. V1,V2,V3,V4,V5
  2. V1,V2,V3,V5,V4
  3. V1,V3,V2,V4,V5
  4. V1,V4,V3,V5,V2

解析:

有點累hh

其實只要瞭解堆的刪除過程就還好啦

解析:

簡單總結一下:

順序表插入的平均移動次數是(n)/2

順序表刪除的平均移動次數是(n-1)/2

連結串列的插入和刪除的平均查詢次數都是(n)/2