1. 程式人生 > >中國大學MOOC-陳越、何欽銘-資料結構-2018秋期中考試

中國大學MOOC-陳越、何欽銘-資料結構-2018秋期中考試

判斷題

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;
}