二分检索
概述
二分检索(Binary Search)也叫二分查找,是应用于有序表上的一种检索方法。二分检索的思想是:由于序列已经有序,故不需要顺序遍历,每次只需和序列中间位置的元素进行比较即可,以此确定下次查找的位置。显然每次都可以排除一半的元素,很高效。
伪代码
BinarySearch(Array, key)
1.low=0,high-n-1;
2.while(low<=high)
3. mid=(low+high)/2;
4. if(key<array[mid])
5. high=mid-1;
6. else if(key>array[mid])
7. low=mid+1;
8. else
9. printf("查找成功!");
10. printf("查找失败!");
一个二分检索的例子
有序序列 2 5 7 9 12 15