文章插图
binary search【binary search】二分法检索(binary search)又称折半检索 , 二分法检索的基本思想是设字典中的元素从小到大有序地存放在数组(array)中 。
基本介绍中文名:二分检索法
外文名:binary search
性质:搜寻方式
起源地:美国
别名:折半检索法
定义首先将给定值key与字典中间位置上元素的关键码(key)比较 , 如果相等 , 则检索成功;否则 , 若key小 , 则在字典前半部分中继续进行二分法检索;若key大 , 则在字典后半部分中继续进行二分法检索 。这样 , 经过一次比较就缩小一半的检索区间 , 如此进行下去 , 直到检索成功或检索失败 。偶数个取中间2个其中任何一个作为中间元素二分法检索是一种效率较高的检索方法 , 要求字典在顺序表中按关键码排序 。代码举例java版本:public static int BinarySearch (int[] a, int low, int high, int searchValue){// recursive versionint mid;if (high <= low)return -1;mid = (low + high) >>> 1; // Or mid = low + ((high - low) / 2)if (a [mid] > searchValue){return BinarySearch (a, low, mid, searchValue);}else if (a [mid] < searchValue){return BinarySearch (a, mid + 1, high, searchValue);}else //when a[mid] is the search value..{return mid;}} //end functionC/C++版本:int binary_search( int *a, int n, int key ){int mid, front=0, back=n-1;while (front<=back){mid = (front+back)/2;if (a[mid]==key)return mid;if (a[mid]<key)front = mid+1;else back = mid-1;}return -1;}
- 海底彩虹城玩全大图鉴
- 小时的一亩三分地
- 捷克-年欧洲杯2012
- 昏迷系列
- 喉咙痒喝什么好
- 夏天吹风扇感冒是风寒还是风热
- 星期一早安问候语简短有哪些
- 水痘的食疗方法
- 水痘需要隔离多长时间
- 人为什么打呼噜