一、選擇題(30分)
1. 設一組權值集合W={2,3,4,5,6},則由該權值集合構造的哈夫曼樹中帶權路徑長度之和為( )。
(A) 20 (B) 30 (C) 40 (D) 45
2.執(zhí)行一趟快速排序能夠得到的序列是( )。
(A) [41,12,34,45,27] 55 [72,63]
(B) [45,34,12,41] 55 [72,63,27]
(C) [63,12,34,45,27] 55 [41,72]
(D) [12,27,45,41] 55 [34,63,72]
3.設一條單鏈表的頭指針變量為head且該鏈表沒有頭結點,則其判空條件是( )。
(A) head==0 (B) head->next==0
(C) head->next==head (D) head!=0
4.時間復雜度不受數據初始狀態(tài)影響而恒為O(nlog2n)的是( )。
(A) 堆排序 (B) 冒泡排序 (C) 希爾排序 (D) 快速排序
5.設二叉樹的先序遍歷序列和后序遍歷序列正好相反,則該二叉樹滿足的條件是( )。
(A) 空或只有一個結點 (B) 高度等于其結點數
(C) 任一結點無左孩子 (D) 任一結點無右孩子
6.一趟排序結束后不一定能夠選出一個元素放在其最終位置上的是( )。
(A) 堆排序 (B) 冒泡排序 (C) 快速排序 (D) 希爾排序
7.設某棵三叉樹中有40個結點,則該三叉樹的最小高度為( )。
(A) 3 (B) 4 (C) 5 (D) 6
8.順序查找不論在順序線性表中還是在鏈式線性表中的時間復雜度為( )。
(A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og2n)
9.二路歸并排序的時間復雜度為( )。
(A) O(n) (B) O(n2) (C) O(nlog2n) (D) O(1og2n)
10. 深度為k的完全二叉樹中最少有( )個結點。
(A) 2k-1-1 (B) 2k-1 (C) 2k-1+1 (D) 2k-1
11.設指針變量front表示鏈式隊列的隊頭指針,指針變量rear表示鏈式隊列的隊尾指針,指針變量s指向將要入隊列的結點X,則入隊列的操作序列為( )。
(A) front->next=s;front=s; (B) s->next=rear;rear=s;
(C) rear->next=s;rear=s; (D) s->next=front;front=s;
12.設某無向圖中有n個頂點e條邊,則建立該圖鄰接表的時間復雜度為( )。
(A) O(n+e) (B) O(n2) (C) O(ne) (D) O(n3)
13.設某哈夫曼樹中有199個結點,則該哈夫曼樹中有( )個葉子結點。
(A) 99 (B) 100 (C) 101 (D) 102
14.設二叉排序樹上有n個結點,則在二叉排序樹上查找結點的平均時間復雜度為( )。
(A) O(n) (B) O(n2) (C) O(nlog2n) (D) O(1og2n)
15.設用鄰接矩陣A表示有向圖G的存儲結構,則有向圖G中頂點i的入度為( )。
(A) 第i行非0元素的個數之和 (B) 第i列非0元素的個數之和
(C) 第i行0元素的個數之和 (D) 第i列0元素的個數之和
二、判斷題(20分)
1.調用一次深度優(yōu)先遍歷可以訪問到圖中的所有頂點。( )
2.分塊查找的平均查找長度不僅與索引表的長度有關,而且與塊的長度有關。( )
3.冒泡排序在初始關鍵字序列為逆序的情況下執(zhí)行的交換次數最多。( )
4.滿二叉樹一定是完全二叉樹,完全二叉樹不一定是滿二叉樹。( )
5.設一棵二叉樹的先序序列和后序序列,則能夠確定出該二叉樹的形狀。( )
6.層次遍歷初始堆可以得到一個有序的序列。( )
7.設一棵樹T可以轉化成二叉樹BT,則二叉樹BT中一定沒有右子樹。( )
8.線性表的順序存儲結構比鏈式存儲結構更好。( )
9.中序遍歷二叉排序樹可以得到一個有序的序列。( )
10.快速排序是排序算法中平均性能的一種排序。( )
三、填空題(30分)
1.for(i=1,t=1,s=0;i