1. 程式人生 > >有序表,二叉排序樹,二叉平衡樹平均查詢長度比較例題 && 二叉平衡樹的高度

有序表,二叉排序樹,二叉平衡樹平均查詢長度比較例題 && 二叉平衡樹的高度

【說明】:部落格內容選自課程課件

已知長度為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

,Oct, Sep)

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 ,則:

 h0空樹:     N0 = 0

h1僅有根結點: N1 = 1

h > 1 Nh = Nh-1 + Nh-2 +1