元素有序时的折半查找

来源:互联网 发布:美工招聘要求 编辑:程序博客网 时间:2024/04/30 07:14

折半查找,又叫二分查找

要求顺序存储结构且要求元素按关键字有序排列

时间复杂度O(log2n)

成功的情况下:查找过程走了一条从判定树的根到被查记录的路径,比较的次数恰为记录在树中的层数。

失败的情况下:查找过程经过了从判定树的根到某个外部节点的路径,所需比较次数不超过判定树的高度。

过程描述:

首先,用要查找的关键字k与中间位置的节点的关键字相比较,这个中间记录将这个表分为了两个子表,若比较结果相等则查找成功;

        如果比较结果不成功,就根据k与该中间记录比较大小确认下一步查找那个子表,这样递归下去。

判定树:又称比较树,如果将折半查找的过程用二叉树来表示,把当前查找区中间位置上的数据作为根,左子表和右子表分别作为根的左子树和右子树,由此得到的树叫做判定树

0 0