大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 二叉搜索樹的平均查找長度

二叉搜索樹的平均查找長度

更新時間:2022-09-16 09:31:51 來源:動力節點 瀏覽2993次

二叉搜索樹的平均查找長度要怎么算?動力節點小編來告訴大家。

假設有一顆二叉排序樹, 總結點數是n, 高度是h, 根結點的高度是1,

假設也是滿二叉樹, n與h的關系, 有公式: n = (2^h) - 1

也就是: h = log2(n+1)

對于高度為2,總結點數是3的二叉排序樹(滿二叉樹),查找成功的平均查找長度為:

ASL = (1*1 + 2*2) / 3

對于高度為3,總結點數是7的二叉排序樹(滿二叉樹),查找成功的平均查找長度為:

ASL = (1*1 + 2*2 + 3*4) / 7

對于高度為h,總結點數是n的二叉排序樹(滿二叉樹),查找成功的平均查找長度為:

ASL = ( 1*1 + 2*2 + 3*4 + ... + h*2^(h-1) ) / n [等式1]

對于[等式1]里的1*1 + 2*2 + 3*4 + ... + h*2^(h-1)

該數列有h項: 1*2^0, 2*2^1, 3*2^2, ... , h*2^(h-1)

其總和:

S = 1*2^0 + 2*2^1 + 3*2^2 + ... + h*2^(h-1) [等式2]

等式兩邊同乘以2,有:

2*S = 1*2^1 + 2*2^2 + 3*2^3 + ... + (h-1)*2^(h-1) + h*2^h [等式3]

用[等式3]減去[等式2]有:

S = h*2^h - (2^0 + 2^1 + 2^2 + 2^3 + ... + 2(h-1)) [等式4]

其中(2^0 + 2^1 + 2^2 + 2^3 + ... + 2^(h-1))是等比數列求和,設:

M = (2^0 + 2^1 + 2^2 + 2^3 + ... + 2^(h-1))

等式兩邊同乘以2,有: 2*M = (2^1 + 2^2 + 2^3 + ... + 2^h)

兩個等式相減,有: M = 2^h - 1

將M代入[等式4]有:

S = h * 2^h - (2^h - 1) = (h-1) * 2^h + 1 [等式5]

因為 h = log2(n+1),將h代入[等式5],有:

S = [ log2(n+1) - 1 ] * 2^[log2(n+1)] + 1
= [ log2(n+1) - 1 ] * (n+1) + 1
= (n+1) * log2(n+1) - n

也就是

S = ( 1*1 + 2*2 + 3*4 + ... + h*2^(h-1) ) = (n+1) * log2(n+1) - n

將上述S代入[等式1],有:

ASL = [(n+1) * log2(n+1) - n] / n
= [(n+1)/n] * log2(n+1) - 1

所以,二叉排序樹查找成功的平均查找長度為:

ASL = [(n+1)/n] * log2(n+1) - 1 [公式1]

其時間復雜度是: O(log2(n))

假設有一顆平衡的二叉排序樹,高度h=4,總結點數n=11,不是滿二叉樹:

          36
      /        \
     24        52
    / \       /  \
  10   30    41  90
  / \       /    /
 8  12     38   61

根據[公式1],查找成功的平均查找長度為:

ASL = [(n+1)/n] * log2(n+1) - 1 = [(11+1)/11] * log2(11+1) - 1 約等于 2.91

逐個結點計數,平均查找長度為:

ASL = (1*1 + 2*2 + 3*4 + 4*4) / 11 = 33 / 11 = 3

假設有一顆平衡的二叉排序樹,高度h=4,總結點數n=15,是滿二叉樹:

           36
      /           \
     24            52
    /  \         /    \
  10    30      41     90
 / \    / \    /  \    / \
8  12  28  31 38  42  61  91

根據[公式1],查找成功的平均查找長度為:

ASL = [(n+1)/n] * log2(n+1) - 1 = [(15+1)/15] * log2(15+1) - 1 = 49/15

逐個結點計數,平均查找長度為:

ASL = (1*1 + 2*2 + 3*4 + 4*8) / 15 = 49/15

以上就是關于“二叉搜索樹的平均查找長度”介紹,大家如果想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面的課程內容從入門到精通,細致全面,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲综合视频在线观看 | 欧美又粗又硬又大久久久 | 99久久99这里只有免费的精品 | 中文字幕日本不卡一二三区 | 成人高清视频在线观看大全 | 国产青青久久 | 欧美性生活一级 | 久久久久九九精品影院 | 狠狠色丁香久久综合五月 | 麻豆日韩区久久综合 | 不卡国产在线 | 91亚洲国产成人久久精品网站 | 亚洲福利视频在线 | 日本一线一区二区三区免费视频 | 久久美女免费视频 | 精品福利在线视频 | 九九爱精品视频 | 亚洲最大视频网站 | 四虎国产精品免费五月天 | 精品国产品香蕉在线观看75 | 久久水蜜桃 | 中国日韩欧美中文日韩欧美色 | 国产亚洲欧美另类一区二区三区 | 一区二区伦理 | 久久精品加勒比中文字幕 | 欧美一区二区在线观看视频 | 九九99久久 | 男女一级做片a性视频 | 日韩 三级 | 亚洲精品福利在线观看 | 在线观看精品91老司机 | 国产目拍亚洲精品一区二区三区 | 久草在线中文 | 99热久热这里只精品 | 亚洲偷自拍另类图片二区 | 99j久久精品久久久久久 | 国产在线观看一区二区三区 | chinese国产在线视频 | 一本伊大人香蕉久久网手机 | aaa大片| 免费视频精品一区二区三区 |