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