日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构:二叉查找树 BST 平均查找长度 ASL 的计算

發布時間:2024/2/28 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构:二叉查找树 BST 平均查找长度 ASL 的计算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

平均查找長度

ASL(Average Search Length),即平均查找長度,在查找運算中,由于所費時間在關鍵字的比較上,所以把平均需要和待查找值比較的關鍵字次數稱為平均查找長度。

它的定義是這樣的:

其中n為查找表中元素個數,Pi為查找第i個元素的概率,通常假設每個元素查找概率相同,Pi=1/n,Ci是找到第i個元素的比較次數。

順序查找平均查找長度的計算

在順序查找(Sequence Search)表中,查找方式為從頭掃到尾,找到待查找元素即查找成功,若到尾部沒有找到,說明查找失敗。

所以說,Ci(第i個元素的比較次數)在于這個元素在查找表中的位置,如第0號元素就需要比較一次,第一號元素比較2次…第n號元素要比較n+1次。所以Ci=i;所以

查找成功 的平均查找長度:

查找失敗 的平均查找長度:

折半查找平均查找長度的計算

折半查找(Binary Search),首先待查找表是有序表,這是折半查找的要求。在折半查找中,用二叉樹描述查找過程,查找區間中間位置作為根,左子表為左子樹,右子表為右子樹,因為這顆樹也被成為判定樹(decision tree)或比較樹(Comparison tree)。

查找方式為(找k):先與樹根結點進行比較,若k小于根,則轉向左子樹繼續比較,若k大于根,則轉向右子樹,遞歸進行上述過程,直到查找成功或查找失敗。

在n個元素的折半查找判定樹中,由于關鍵字序列是用樹構建的,所以查找路徑實際為樹中從根節點到被查結點的一條路徑,因為比較次數剛好為該元素在樹中的層數。所以:

查找成功 的平均查找長度:

其中,Pi為查找k的概率,level(Ki)為k對應內部結點的層次。而在這樣的判定樹中,會有n+!種查找失敗的情況,因為將判定樹構建為完全二叉樹,又有n+1個外部結點(用Ei(0<=i<=n)表示)

查找失敗 的平均查找長度:

qi表示查找屬于Ei中關鍵字的概率,level(Ui)表示Ei對應外部結點的層次。

在一顆有n個結點判定樹中,


例子:計算二叉查找樹的平均查找長度

例:給11個數據元素有序表(2,3,10,15,20,25,28,29,30,35,40)采用折半查找。則ASL成功和不成功分別是多少?

先畫出判定樹,

查找成功 的平均查找長度:

查找失敗 的平均查找長度:

參考:https://www.cnblogs.com/ygsworld/p/10238729.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的数据结构:二叉查找树 BST 平均查找长度 ASL 的计算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。