C语言二分查找代码及分析
二分查找法思想
二分查找是一种算法,其输入的要是一个有序
的序列,如果要查找的数字在这个序列中,返回它对应得位置,不在返回-1。
示例
我随便想一个1-100的数字,你的目的是以最少的次数猜这个数字,每次猜后我都告诉你是猜大了还是猜小了,我们先想想应该怎么猜,最不聪明的方法是不是从小到大一次猜(暴力搜索),这肯定不大行,但是你要是开始猜50,我告诉你大了还是小了,你是不是排除了一半的数字。每次猜都取中间的那个数,每次排除一半,这就是二分查找。用这个方法查找的次数少了,运行的时间也会缩短。
注意
输入的序列在查找前必须有序。
代码实现
int binary_search(int a[],int item,int le