《算法导论》:等概率的前提下通过判定树来分析折半查找的性能

折半查找的最差情况下的性能是floor(log-n)+1,即一直查找到最底层才找到或找不到。

这个判定树与霍夫曼树的区别在于折半查找的判定树的内节点也是待查找元素,而叶子节点是区间。因此折半查找与BST更相似,只不过折半查找的判定树是固定的,不是动态结构。另一个区别在于折半查找是以元素的序号来区分的,而BST的元素序号与其位置没有关系,BST元素的键值决定了其位置,而且键值没有二分关系。

描述折半查找的判定树是深度为h的满二叉树(把找不到的情况加入,则为满二叉树),树中层次为1的节点有一个即根节点,层次为2的节点数目为2,层次为h的节点数目为2^h-1。若各个节点的查找的概率相同,都为1/n,则查找长度的期望为:

ASLaverage search length=Sum(PiCi)

=

平均性能也是floorlog(n+1))即最差性能和平均性能同阶。

    原文作者:查找算法
    原文地址: https://blog.csdn.net/sinapme/article/details/17141199
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞