折半查找,又叫二分查找
要求顺序存储结构且要求元素按关键字有序排列
时间复杂度O(log2n)
成功的情况下:查找过程走了一条从判定树的根到被查记录的路径,比较的次数恰为记录在树中的层数。
失败的情况下:查找过程经过了从判定树的根到某个外部节点的路径,所需比较次数不超过判定树的高度。
过程描述:
首先,用要查找的关键字k与中间位置的节点的关键字相比较,这个中间记录将这个表分为了两个子表,若比较结果相等则查找成功;
如果比较结果不成功,就根据k与该中间记录比较大小确认下一步查找那个子表,这样递归下去。
判定树:又称比较树,如果将折半查找的过程用二叉树来表示,把当前查找区中间位置上的数据作为根,左子表和右子表分别作为根的左子树和右子树,由此得到的树叫做判定树
/**
* 二分查找
* 不断将数组进行对半分割ÿ