1. 程式人生 > >資料結構題海遨遊的第14天

資料結構題海遨遊的第14天

1:兩個順序棧共享陣列S【0…n-1】,其中第一個棧的棧頂指標top1的初始值為-1,第二個棧的棧頂指標top2的初始值為n,則判斷該共享棧滿的條件是(B)
A:top2+2=top1
B:top1+1=top2
C:top1+2=top2
D:top2+1=top1
解析:
在這裡插入圖片描述
2:如果約定樹中結點的度數不超過2,則它實際上就是一棵二叉樹(B)
A:正確
B:錯誤
解析:二叉樹中的左右子樹
有區分,次序不能顛倒。
3:一棵哈夫曼樹共有215個結點,對其進行哈夫曼編碼,共能得到(B)個不同的碼字
A:107
B:108
C:214
D:215
解析:葉子結點對應的即是不同的編碼,所以葉子結點=其他結點+1,即108(葉子結點)+ 107(其他結點)=215
4:棧和佇列的共同特點是(A)
A:只允許在端點處插入和刪除元素
B:都是先進後出
C:都是先進先出
D:沒有共同點
解析

:佇列只能在一端進行插入,另一端進行刪除,棧的操作都在棧頂
5:如果兩個串含有相同的字元,則說它們相等。(B)
A:正確
B:錯誤
解析:A串:abcd;B串:cabd,兩個串有相同的字元但是並不相等。
6:必須把一般樹轉換成二叉樹後才能進行儲存(B)
A:正確
B:錯誤
解析:樹的表示法:廣義表表示法,父指標表示法,子女連結串列表示法,子女兄弟連結串列表示法;不一定要轉換成二叉樹進行儲存。
7:若一棵二叉樹彙總,度為2的結點為9,則該二叉樹的葉子結點數為(A)
A:10
B:11
C:12
D:不確定
解析:二叉樹中度為0的結點是度為2的結點數+1,,則葉子結點數10.
8:有一個用陣列C[1…m]表示的環形佇列,m為陣列的長度。假設f為隊頭元素在陣列中的位置,r為隊尾元素的後一位置(按順時針方向)。若佇列非空,則計算佇列中元素個數的公式應為(A)
A:(m+r-f)mod m
B:r-f
C:(m-r+f) mod m
D:(m-r-f) mod m
E:(r-f) mod m
F:需要判斷邊界
解析

在這裡插入圖片描述
9:設S為一個長度為n的字串,其中的字元各不相同,則S中的互異的非平凡子串(非空且不同於S本身)的個數為(D)
A:2n-1
B:n²
C:(n²/2)+(n/2)
D:(n²/2)+(n/2)-1
E:(n²/2)-(n/2)-1
F:其他情況
解析:
在這裡插入圖片描述
10:對於有n個結點的二叉樹,其高度為 (A)
A:不確定
B:log2n
C:log2n+1
D:n
解析:完全二叉樹可以根據結點計算出高度(具有n個結點的完全二叉樹的深度為log2n(向下取整)+1),但是任意二叉樹不能確定