有序表,二叉排序樹,二叉平衡樹平均查詢長度比較例題 && 二叉平衡樹的高度
阿新 • • 發佈:2018-12-26
【說明】:部落格內容選自課程課件
已知長度為12的表:
(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)
要求完成以下操作:
1.若對錶中元素先進行排序(字典序),構成有序表,並求其在等概率的情況下,對此有序表查詢成功時的平均查詢長度;
2.按表中元素的順序依次插入生成一顆二叉排序樹(初始為空),並求其在等概率的情況下查詢成功時的平均查詢長度;
3.按表中元素的順序構造一顆二叉平衡樹,並求其在等概率的情況下查詢成功的平均查詢長度;
(Apr, Aug, Dec, Feb, Jan, Jul, Jun, Mar,May,Nov
1. 有序表:先排序,然後採用折半查詢
(Apr, Aug, Dec, Feb, Jan, Jul, Jun, Mar,May,Nov ,Oct, Sep)
3 4 2 3 4 1 3 4 2 4 3 4
ASL = (1×1+2 ×2 +3 × 4 +4 ×5 ) / 12 = 37 /12
5. 二叉平衡樹的高度
對於AVL樹來說,如果結點個數為 n,最大深度 h ?
設AVL樹的高度為h,這個AVL樹中最少含有多少個結點?記最少結點個數為 Nh ,則:
h=0,空樹: N0 = 0
h=1,僅有根結點: N1 = 1
h > 1 :Nh = Nh-1 + Nh-2 +1