1.完全二叉樹的第5層有9個節點,該完全二叉樹總計有多少個節點( B ).
A.41 B.24 C.40 D.25
完全二叉樹,說明前四層都是滿結點,第五層有九個結點,故有:
2^4 -1=15 15+9=24
2.具有21個頂點的無向圖至少有多少條邊才能形成連通圖 ( B ).
A.21 B.20 C.22 D.210
3.假設以行序爲主序存儲二維數組A=array[1..40,1..80],設每個數據元素佔2個存儲單元,基地址LOC[1,1]爲8900,則LOC[21,14]的存儲位置爲( B ).
A.12288 B.12126 C.12286 D.12128
二維數組A[1..m,1..n]若按行優先存儲,那麼A的任意一個元素A[i][j]的存儲首地址Loc(i,j)可由下式確定:Loc(i,j)=Loc(1,1)+[n×(i-1)+j-1]×b,其中,Loc(1,1)是第一個元素A[1][1]的首地址,b是每個元素佔用的存儲單元個數。代入數據便得Loc(21,14)=8900+[80×(21-1)+14-1]×2=12126。
4.完全二叉樹順序存儲,結點X的編號爲27,則其右孩子結點的編號是( A )
A.55 B.54 C.28 D.26
參考P159性質5
5.具有11個結點的二叉樹使用二叉鏈表進行存儲,其中空指針的數目是( B ).
A.22 B.12 C.10 D.55
n個結點的二叉鏈表中,有2n個鏈域,每一條非空鏈域對應一條樹枝,而樹支的個數爲n-1,空節點個數爲2n-(n-1)=n+1
6.一棵二叉樹,度爲2結點數爲174,度爲1結點數爲186,則葉子結點數爲( C ).
A.187 B.173 C.175 D.185
n0=n2+1=174+1=175
7.已知序列3,16,33,37,57,65,66,83,85,100,112,則用折半查找法查找3需要進行( B )次比較.
A.1 B.3 C.2 D.4
①定義3個用來記錄索引值的變量,變量min記錄當前範圍最小索引值,初始值爲0;變量max記錄當前範圍最大索引值,初始值爲數組長度-1;變量mid記錄當前當前範圍最中間元素的索引值,初始值爲(min+max) / 2
②使用循環,判斷當前範圍下,最中間元素值與指定查找的數值是否相等
若相等,結束循環,返回當前範圍最中間元素的索引值mid
若不相等,根據比較結果,縮小查詢範圍爲上一次查詢範圍的一般
中間元素值比要查詢的數值大,說明要查詢的數值在當前範圍的最小索引位置與中間索引位置之間,此時,更新查詢範圍爲:
範圍最大索引值 = 上一次中間索引位置 -1;
中間元素值比要查詢的數值小,說明要查詢的數值在當前範圍的最大索引位置與中間索引位置之間,此時,更新查詢範圍爲:
範圍最小索引值 = 上一次中間索引位置 +1;
在新的查詢範圍中,更新中間元素值的位置,再次使用最中間元素值與指定查找的數值是否相等。
中間索引值 = (範圍最小索引值 +範圍最大索引值) / 2;
③每次查詢範圍縮小一半後,使用if語句判斷,查詢範圍是否小於0個元素,若小於0個元素,則說明指定數值沒有查詢到,返回索引值-1。
mid分別指向65,33,3
8.有28個葉子的哈夫曼樹的結點總數爲 ( A ).
A.55 B.56 C.57 D.783
哈夫曼樹,則度爲0的結點個數爲N,度爲2的結點個數爲N-1,則結點總數爲2N-1。
9.具有47個頂點,1309條邊的有向圖,所有頂點度的和爲( B ).
A.1081 B.2618 C.94 D.1309
無向圖和有向圖中每個頂點的度等於該頂點的入度與出度之和
總度數(D)等於邊數(e)的兩倍。D=2e
1.假設一顆二叉樹的先序序列爲ABDFHEGC,中序序列爲DFHBGEAC,請畫出該二叉樹。
2.給定關鍵字查找序列:8,96,82,33,36,56,58,58,73 ,請構造二叉排序樹。
3.有向圖如下所示,畫出其鄰接矩陣存儲(包括頂點存儲和索引).
有向圖:行爲出度,列爲入度
4.對如下圖所示的AOE網絡,計算各事件(頂點)的最早開始時間和最遲開始時間。
最早發生時間:從前往後,前驅結點到當前結點所需時間,取最大值。
最遲發生時間:從後往前,後繼結點的最遲發生時間-邊權值,取最小值。
事件爲頂點,活動爲邊。
5.已知一個無向圖如下圖所示,要求用普里姆算法構造最小生成樹(從頂點A開始),畫出構造過程。
6.已知一組關鍵字{19,84,57,18,92,68,73,39},請畫出由該組關鍵字創建的大頂堆(畫出結果即可。
7.設給定關鍵字輸入序列爲{93,44,56,90,123,112,112,96},用散列法散列0-10的地址區。散列函數爲H(k)=(k)MOD 11,發生衝突時使用二次探測再散列。請構造哈希表,並將結果填入下表。
線性探測再散列
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
key |
44 |
56 |
90 |
123 |
112 |
93 |
|
|
96 |
|
|
frequency |
1 |
1 |
1 |
2 |
3 |
1 |
|
|
1 |
|
|
ASL=(1+1+1+2+3+1+1)/7=10/7
二次探測再散列
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
key |
44 |
56 |
90 |
123 |
|
93 |
112 |
|
96 |
|
|
frequency |
1 |
1 |
1 |
2 |
|
1 |
4 |
|
1 |
|
|
ASL=(1+1+1+2+1+4+1)/7=11/7
8.設用於通信的電文由a、b、c、d、e、f、g、h 等8個字母組成, 字母在電文中出現的頻率分別爲:20,8,8,1,10,3,5,14。請構造哈夫曼樹,並給每出每個字母的哈夫曼編碼。