问题标题: 哪位大佬能告诉我binary_search()的用法以及简介

0
0
已解决
鲁天一
鲁天一
初级光能
初级光能

本萌正在学习二分,听说这个函数十分好用,想了解一下。

 

跪求大佬回答!!!

把我的血本抛出来了,就为了解一个函数。

鲁天一在2018-11-12 13:19:05追加了内容

记住,我要的是binary_search()的应用,结构,使用方法等。不光光要思想。


0
已采纳
张睿杰
张睿杰
初级天翼
初级天翼

二分法检索(binary search)又称折半检索,二分法检索的基本思想是设字典中的元素从小到大有序地存放在数组(array)中,

首先将给定值key与字典中间位置上元素的关键码(key)比较,如果相等,则检索成功;

否则,若key小,则在字典前半部分中继续进行二分法检索;

若key大,则在字典后半部分中继续进行二分法检索。

这样,经过一次比较就缩小一半的检索区间,如此进行下去,直到检索成功或检索失败。

偶数个取中间2个其中任何一个作为中间元素

二分法检索是一种效率较高的检索方法,要求字典在顺序表中按关键码排序。

百度的哦

张睿杰在2018-11-12 13:21:13追加了内容
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;

}

 

0
0
0
0
0
0
我要回答