1. 程式人生 > >第二章作業題2-連結串列(1)

第二章作業題2-連結串列(1)

1-1

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

 F:反了

1-2

若用連結串列來表示一個線性表,則表中元素的地址一定是連續的。 (1分)

F

1-3

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

F

1-4

(neuDS)單鏈表不是一種隨機存取的儲存結構。 (1分)

 T

電腦科學中,隨機存取(有時亦稱直接訪問)代表同一時間訪問一組序列中的一個隨意元件。反之則稱循序訪問,即是需要更多時間去訪問一個遠端元件。隨機存取儲存器的基本結構可分為三個部分:儲存矩陣,地址譯碼器,讀寫電路。

2-1

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

  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-2

在單鏈表中,若p所指的結點不是最後結點,在p之後插入s所指結點,則執行 (2分)

  1. s->next=p; p->next=s;
  2. s->next=p->next; p=s;
  3. s->next=p->next; p->next=s;
  4. p->next=s; s->next=p;

2-3

帶頭結點的單鏈表h為空的判定條件是: (2分)

  1. h == NULL;
  2. h->next == NULL;
  3. h->next == h;
  4. h != NULL;

2-4

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

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

2-5

線性表若採用鏈式儲存結構時,要求記憶體中可用儲存單元的地址 (1分)

  1. 必須是連續的
  2. 連續或不連續都可以
  3. 部分地址必須是連續的
  4. 一定是不連續的

2-6

在具有N個結點的單鏈表中,實現下列哪個操作,其演算法的時間複雜度是O(N)? (2分)

  1. 在地址為p的結點之後插入一個結點
  2. 刪除開始結點
  3. 遍歷連結串列和求連結串列的第i個結點
  4. 刪除地址為p的結點的後繼結點

2-7

對於一個具有N個結點的單鏈表,在給定值為x的結點後插入一個新結點的時間複雜度為 (2分)

  1. O(1)
  2. O(N/2)
  3. O(N)
  4. O(N​2​​)

2-8

連結串列不具有的特點是: (1分)

  1. 插入、刪除不需要移動元素
  2. 方便隨機訪問任一元素
  3. 不必事先估計儲存空間
  4. 所需空間與線性長度成正比

2-9

(neuDS)在一個含有n個結點的有序單鏈表中插入一個新結點,使單鏈表仍然保持有序的演算法的時間複雜度是( )。 (2分)

  1. O(1)
  2. O(log​2​​n)
  3. O(n)
  4. O(n​2​​)

2-10

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

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

2-11

(neuDS)在單鏈表中,增加一個頭結點的最終目的是為了( )。 (2分)

  1. 使單鏈表至少有一個結點
  2. 方便運算的實現
  3. 標識表結點中首結點的位置
  4. 說明單鏈表是線性表的鏈式儲存

2-12

在單鏈表中,要刪除某一指定結點,必須先找到該結點的()。 (2分)

  1. 直接前驅
  2. 自身位置
  3. 直接後繼
  4. 直接後繼的後繼

2-13

以下關於鏈式儲存結構的敘述中,()是不正確的。 (2分)

  1. 結點除自身資訊外還包括指標域,因此儲存密度小於順序儲存結構
  2. 邏輯上相鄰的結點物理上不必鄰接
  3. 可以通過計算直接確定第i個結點的儲存地址
  4. 插入、刪除運算操作方便,不必移動結點

2-14

線性連結串列不具有的特點是()。 (2分)

  1. 隨機訪問
  2. 不必事先估計所需儲存空間大小
  3. 插入與刪除時不必移動元素
  4. 所需空間與線性長度成正比

2-15

線性表若採用鏈式儲存結構時,要求記憶體中可用儲存單元的地址()。 (2分)

  1. 必須是連續的
  2. 部分地址必須是連續的
  3. 一定是不連續的
  4. 連續或不連續都可以

2-16

對線性表,在下列情況下應當採用連結串列表示的是()。 (2分)

  1. 經常需要隨機地存取元素
  2. 經常需要進行插入和刪除操作
  3. 表中元素需要佔據一片連續的儲存空間
  4. 表中的元素個數不變

2-17

不帶表頭附加結點的單鏈表為空的判斷條件是頭指標head滿足條件()。 (2分)

  1. head==NULL
  2. head->next==NULL
  3. head->next== head
  4. head!=NULL

2-18

可以用帶表頭附加結點的連結串列表示線性表,也可以用不帶頭結點的連結串列表示線性表,前者最主要的好處是()。 (2分)

  1. 可以加快對錶的遍歷
  2. 使空表和非空表的處理統一
  3. 節省儲存空間
  4. 可以提高存取表元素的速度