二叉排序树和平衡二叉排序树
? ? ? ? ? ?二叉排序樹又稱為二叉查找樹,它是一顆特殊的二叉樹。(空樹)
? ? ? ? ?性質(zhì):1、若它的左子樹非空,則左子樹上的所有結(jié)點(diǎn)的值均小于根結(jié)點(diǎn)的值。
? ? ? ? ? ? ? ? ?2、若它的右子樹非空,則右子樹上的所有結(jié)點(diǎn)的值均大于根結(jié)點(diǎn)的值。
? ? ? ? ? ? ? ? ?3、它的左右子樹也分別為二叉排序樹。
? ? ?例:設(shè)關(guān)鍵字的輸入順序?yàn)?5、24、53、12、28、90,畫出二叉排序樹的構(gòu)建過程。
? ? ??
? ? ? ? ? ? 假設(shè)每個(gè)查找元素的概率相等,則平均查找長(zhǎng)度為
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??ASL=1/6(1+2*2+3*3)=14/6
? ? ? ? ? ? 由此可見,在二叉排序樹上進(jìn)行查找時(shí)的平均查找長(zhǎng)度和二叉排序樹的形態(tài)有關(guān)。中序遍歷二叉排序樹可以得到一個(gè)遞增的有序序列。
? ??
? ? ? ? ? ? 平衡二叉排序樹又稱為AVL樹。(空樹)
? ? ? ? ? ? 性質(zhì):1、右子樹和左子樹的高度之差的絕對(duì)值小于等于1.
? ? ? ? ? ? ? ? ? ? ? ?2、左子樹和右子樹也是平衡二叉排序樹。
? ? ? ? ? ? 平衡因子:結(jié)點(diǎn)的左子樹和右子樹深度之差。顯然,一個(gè)平衡二叉樹,其所有結(jié)點(diǎn)的平衡因子只能是-1、1、0.插入一個(gè)結(jié)點(diǎn)時(shí),有可能導(dǎo)致失衡,即出現(xiàn)絕對(duì)值大于1的平衡因子,如2、-2.
? ? ? ? ? ??
總結(jié)
以上是生活随笔為你收集整理的二叉排序树和平衡二叉排序树的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。