折半查找
廖家龙 用心听,不照做

折半查找:又称二分查找,仅适用于有序的顺序表

算法思想:
1)首先将给定值key与表中中间位置元素的关键字比较
2)若相等,则返回该元素的位置;若不等,则在前半部分或者是后半部分进行查找
3)查找序列升序时,若key小于中间元素,则查找前半部分;若key大于中间元素,则查找后半部分
4)重复该过程,直到找到查找的元素为止,或查找失败

注意low<=high:

折半查找的判定树:

查找成功的平均比较次数:[log2(n+1)]-1,折半查找的时间复杂度为O(log2n)

顺序查找适用于顺序存储和链式存储,序列有序无序皆可;折半查找只适用于顺序存储,且要求序列一定有序