2022考研408-二叉排序樹


二叉排序樹

定義

二叉排序樹或是一棵空樹,或是具有如下性質的二叉樹

l  左子樹若非空,則左子樹所有結點的關鍵字必然小於根節點關鍵字

l  右子樹若非空,則右子樹所有結點的關鍵字必然大於根節點關鍵字

l  左子樹和右子樹均為二叉排序樹

示例

 

二叉排序樹的查找

l  若二叉排序樹為空,則查找失敗

l  比較結點關鍵字的值與給定值,若給定值更大,則查找結點的右子樹

l  比較結點關鍵字的值與給定值,若給定值更小,則查找結點的左子樹

二叉排序樹的刪除

這里指刪除二叉排序樹的某一個結點

若結點為葉節點,則直接刪除

若結點的度為1,也即只有一棵子樹,則用其左孩子或右孩子代替(關鍵字交換),再刪除這個孩子

若結點有兩個孩子,則用中序的直接前驅或直接后繼將其代替(關鍵字交換),再刪除這個這個直接前驅(左孩子的最右結點)或直接后繼(右孩子的最左結點)

 

二叉排序樹的插入

這里是指將將一個新節點插入到二叉排序樹中

l  若二叉排序樹為空,則直接將新節點插入

l  若新節點關鍵字大於當前節點的關鍵字,則插入右子樹

l  若新節點關鍵字小於當前節點的關鍵字,則插入左子樹

題目整理

001、在二叉排序樹中,新插入的關鍵字總是處於最底層(王道模擬四-T07-Ⅲ)嗎?

002、含有4個元素值均不相同的二叉排序樹有_____種。答:14

003、含16個結點的平衡二叉樹最大深度是___。(斐波那契:a1=1, a2=2, an=an-1+an-2+1)

答案整理

001、答:不是的,依據二叉排序樹的插入規則,只有當二叉排序樹為空時,新的結點才能直接插入,否則總是會通過比較轉而向其某一子樹插入,若從查找的角度考慮,在二叉排序樹中查找新節點鍵值,則最后查找失敗的結點即為最終新節點的位置(此時將空指針視為空結點),於是新插入的結點總是作為新二叉排序樹的葉子節點,而“最底層“,反映的是二叉樹中有關”層“的概念,一般根節點為第一層,第n結點的孩子均處於第n+1層。由此可見,葉節點不一定在最底層,因此新插入的關鍵字並不總是在最底層。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM