中國大學MOOC-陳越、何欽銘-資料結構-2018秋期中考試
阿新 • • 發佈:2018-11-21
1-1 在具有N個結點的單鏈表中,訪問結點和增加結點的時間複雜度分別對應為O(1)和O(N)。 (3分) T
1-2 無向連通圖至少有一個頂點的度為1。 (3分) F
1-3 演算法分析的兩個主要方面是時間複雜度和空間複雜度的分析。 (2分) T
1-4 某二叉樹的後序和中序遍歷序列正好一樣,則該二叉樹中的任何結點一定都無右孩子。(3分) T
1-5 將1、2、3、4、5、6順序插入初始為空的AVL樹中,當完成這6個元素的插入後,該AVL樹的先序遍歷結果是:4、2、1、3、5、6。 (3分) T
1-6 如果無向圖G必須進行兩次廣度優先搜尋才能訪問其所有頂點,則G一定有2個連通分量。(3分) T
1-7 如果無向圖G必須進行兩次廣度優先搜尋才能訪問其所有頂點,則G中一定有迴路。 (3分) F
1-7 一棵有124個結點的完全二叉樹,其葉結點個數是確定的。 (3分) T
1-8 任何二叉搜尋樹中同一層的結點從左到右是有序的(從小到大)。 (3分) T
1-9 所謂“迴圈佇列”是指用單向迴圈連結串列或者迴圈陣列表示的佇列。 (2分) F
1-10 若一個棧的輸入序列為{1, 2, 3, 4, 5},則不可能得到{3, 4, 1, 2, 5}這樣的出棧序列。 (3分) T
1-11 在一棵由包含4、5、6等等一系列整數結點構成的二叉搜尋樹中,如果結點4和6在樹的同一層,那麼可以斷定結點5一定是結點4和6的父親結點。(3分)F
5-1
下列程式碼的功能是將小頂堆H
中指定位置P
上的元素的整數鍵值下調D
個單位,然後繼續將H
調整為小頂堆。
void DecreaseKey( int P, int D, PriorityQueue H ) { int i, key; key = H->Elements[P] - D; for ( i = P (6分); H->Elements[i/2] > key; i/=2 ) H->Element[i]=H->Element[i/2](6分); H->Elements[i] = key; }
5-2 下列程式碼的功能是返回帶頭結點的單鏈表L
的逆轉連結串列。
List Reverse( List L )
{
Position Old_head, New_head, Temp;
New_head = NULL;
Old_head = L->Next;
while ( Old_head ) {
Temp = Old_head->Next;
old_head->Next=New_head(6分);
New_head = Old_head;
Old_head = Temp;
}
old_head=Temp(6分);
return L;
}