數(shù)據(jù)結(jié)構(gòu)錯題收錄(十九)

1、在下圖所示的平衡二叉樹中插入關(guān)鍵字48后得到一棵新平衡二叉樹,在新平衡二叉樹中,關(guān)鍵字37所在結(jié)點的左、右子結(jié)點中保存的關(guān)鍵字分別是()。

請?zhí)砑訄D片描述
  • A:13,48
  • B:24,48
  • C:24,53
  • D:24,90
解析

插入48后,該二叉樹根結(jié)點的平衡因子由-1變?yōu)?2,失去平衡,需要進行兩次旋轉(zhuǎn)(先右旋后左旋)操作。

答案:C

2、若平衡二叉樹的高度為6,且所有非葉子結(jié)點的平衡因子均為1,則該平衡二叉樹的結(jié)點總數(shù)為()。

  • A:12
  • B:20
  • C:32
  • D:33
解析

所有非葉結(jié)點的平衡因子均為1,即平衡二叉樹滿足平衡的最少結(jié)點情況,如下圖所示。對于高度為n、左右子樹的高度分別為n-1和n-2、所有非葉結(jié)點的平衡因子均為1的平衡二叉樹,計算總結(jié)點數(shù)的公式為C_n=C_{n-1}+C_{n-2}+1,C_1=1,C_2=2,C_3=2+1+1=4,可推出C_6=20。

請?zhí)砑訄D片描述

畫圖法:先畫出T_1T_2;然后新建一個根結(jié)點,連接T_2、T_1構(gòu)成T_3;新建一個根結(jié)點,連接T_3、T_2構(gòu)成T_4......直到畫出T_6,可知T_6的結(jié)點數(shù)為20。

答案:B

3、若將關(guān)鍵字1,2,3,4,5,6,7依次插入初始為空的平衡二叉樹T,則T中平衡因子為0的分支結(jié)點的個數(shù)是()。

  • A:0
  • B:1
  • C:2
  • D:3
解析

利用7個關(guān)鍵字構(gòu)建平衡二叉樹T,平衡因子為0的分支結(jié)點個數(shù)為3,構(gòu)建的平衡二叉樹及構(gòu)造與調(diào)整過程如下圖所示。

請?zhí)砑訄D片描述
答案:D

4、現(xiàn)有一棵無重復(fù)關(guān)鍵字的平衡二叉樹(AVL),對其進行中序遍歷可得到一個降序序列。下列關(guān)于該平衡二叉樹的敘述中,正確的是()。

  • A:根結(jié)點的度一定為2
  • B:樹中最小元素一定是葉結(jié)點
  • C:最后插入的元素一定是葉結(jié)點
  • D:樹中最大元素一定是無左子樹
解析

只有兩個結(jié)點的平衡二叉樹的根結(jié)點的度為1,A錯誤。

中序遍歷后可以得到一個降序序列,樹中最小元素一定無左子樹(可能有右子樹),因此不一定是葉結(jié)點,B錯誤。

最后插入的結(jié)點可能會導(dǎo)致平衡調(diào)整,而不一定是葉結(jié)點,C錯誤。

答案:D

5、在任意一棵非空平衡二叉樹(AVL樹)T_1中,刪除某結(jié)點v之后形成平衡二叉樹T_2,再將v插入T_2形成平衡二叉樹T_3。下列關(guān)于T_1T_3的敘述中,正確的是()。

Ⅰ、若v是T_1的葉結(jié)點,則T_1T_3可能不相同
Ⅱ、若v不是T_1的葉結(jié)點,則T_1T_3一定不相同
Ⅲ、若v不是T_1的葉結(jié)點,則T_1T_3一定相同

  • A:僅Ⅰ
  • B:僅Ⅱ
  • C:僅Ⅰ、Ⅱ
  • D:僅Ⅰ、Ⅲ
解析

在非空平衡二叉樹中插入結(jié)點,在失去平衡調(diào)整前,一定插入在葉結(jié)點的位置。

若刪除的是T_1的葉結(jié)點,則刪除后平衡二叉樹可能不會失去平衡,即不會發(fā)生調(diào)整,再插入此結(jié)點得到的二叉平衡樹T_1T_3相同;若刪除后平衡二叉樹失去平衡而發(fā)生調(diào)整,再插入結(jié)點得到的二叉平衡樹T_3T_1可能不同。Ⅰ正確。

對于比較絕對的說法Ⅱ和Ⅲ,通常只需舉出反例即可。

例如,如下圖所示,刪除結(jié)點0,平衡二叉樹失衡調(diào)整,再插入結(jié)點0后,平衡二叉樹和以前不同。

請?zhí)砑訄D片描述

若刪除的是T_1的非葉結(jié)點,且刪除和插入操作均沒有導(dǎo)致平衡二叉樹的調(diào)整,則該結(jié)點從非葉結(jié)點變成了葉結(jié)點,T_1T_3顯然不同。例如,如下圖所示,刪除結(jié)點2,用有孩子結(jié)點3填補,再插入結(jié)點2,平衡二叉樹和以前不同。

請?zhí)砑訄D片描述

若刪除的是T_1的非葉結(jié)點,且刪除和插入操作后導(dǎo)致了平衡二叉樹的調(diào)整,則該結(jié)點有可能通過旋轉(zhuǎn)后繼續(xù)變成非葉結(jié)點,T_1T_3相同。例如,如下圖所示,刪除結(jié)點2,用右孩子結(jié)點3填補,再插入結(jié)點2,平衡二叉樹失衡調(diào)整,調(diào)整后的平衡二叉樹和以前相同。

請?zhí)砑訄D片描述
答案:A

6、下圖所示是一棵()。

  • A:4階B樹
  • B:4階B+樹
  • C:3階B樹
  • D:3階B+樹
解析

關(guān)鍵字數(shù)量比子樹數(shù)量少1,所以不是B+樹,而是B樹。又因為m階B樹結(jié)點關(guān)鍵字數(shù)最多為m-1,有一個結(jié)點關(guān)鍵字個數(shù)為3,所以不可能為3階。

答案:A

7、下列關(guān)于m階B樹的說法中,錯誤的是()。

  • A:根結(jié)點至多有m棵子樹
  • B:所有葉結(jié)點都在同一層次上
  • C:非葉結(jié)點至少有m/2(m為偶數(shù))或(m+1)/2(m為奇數(shù))棵子樹
  • D:根結(jié)點中的數(shù)據(jù)是有序的
解析

除根結(jié)點外的所有非終端結(jié)點至少有\ulcornerm/2\urcorner棵子樹。對于根結(jié)點,最多有m棵子樹,若其不是葉結(jié)點,則至少有2棵子樹。

答案:C

8、以下關(guān)于m階B樹的說法中,正確的是()。

Ⅰ、每個結(jié)點至少有兩棵非空子樹
Ⅱ、樹中每個結(jié)點至多有m-1個關(guān)鍵字
Ⅲ、所有葉結(jié)點在同一層
Ⅳ、插入一個元素引起B(yǎng)樹結(jié)點分裂后,樹長高一層

  • A:Ⅰ、Ⅱ
  • B:Ⅱ、Ⅲ
  • C:Ⅲ、Ⅳ
  • D:Ⅰ、Ⅱ、Ⅳ
解析

每個非根的內(nèi)部結(jié)點必須至少有\ulcornerm/2\urcorner棵子樹,而根結(jié)點至少要有兩棵子樹,所以Ⅰ不正確。Ⅱ、Ⅲ顯然正確。對于Ⅳ,插入一個元素引起B(yǎng)樹結(jié)點分裂后,只要從根結(jié)點到該元素插入位置的路徑上至少有一個結(jié)點未滿,B樹就不會長高,如圖1所示;只有當結(jié)點的分裂傳到根結(jié)點,并使根結(jié)點也分裂時,才會導(dǎo)致樹高增1,如圖2所示,因此Ⅳ錯誤。

請?zhí)砑訄D片描述
答案:B

9、具有n個關(guān)鍵字的m階B樹,應(yīng)有()個葉結(jié)點。

  • A:n+1
  • B:n-1
  • C:mn
  • D:nm/2
解析

B樹的葉結(jié)點對應(yīng)查找失敗的情況,對有n個關(guān)鍵字的查找集合進行查找,失敗可能性有n+1種。

答案:A

10、高度為5的3階B樹至少有()個結(jié)點,至多有()個結(jié)點。

  • A:32
  • B:31
  • C:120
  • D:121
解析

由m階B樹的性質(zhì)可知,根結(jié)點至少有2棵子樹;根結(jié)點外的所有非終端結(jié)點至少有\ulcornerm/2\urcorner棵子樹,結(jié)點數(shù)最少時,3階B樹形狀至少類似于一棵滿二叉樹,即高度為5的B樹至少有2^5-1=31個結(jié)點。

由于每個結(jié)點最多有m棵子樹,所以當結(jié)點數(shù)最多時,3階B樹形狀類似于滿三叉樹,結(jié)點數(shù)為(3^5-1)/2=121。

答案:B。 D
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容