折半查找的最差情况下的性能是floor(log-n)+1,即一直查找到最底层才找到或找不到。
这个判定树与霍夫曼树的区别在于折半查找的判定树的内节点也是待查找元素,而叶子节点是区间。因此折半查找与BST更相似,只不过折半查找的判定树是固定的,不是动态结构。另一个区别在于折半查找是以元素的序号来区分的,而BST的元素序号与其位置没有关系,BST元素的键值决定了其位置,而且键值没有二分关系。
描述折半查找的判定树是深度为h的满二叉树(把找不到的情况加入,则为满二叉树),树中层次为1的节点有一个即根节点,层次为2的节点数目为2,层次为h的节点数目为2^h-1。若各个节点的查找的概率相同,都为1/n,则查找长度的期望为:
ASL(average search length)=Sum(PiCi)
=
平均性能也是floor(log(n+1))即最差性能和平均性能同阶。