BinarySearch function in C++ (urjnasw xkfjjkn@CSDN)

今天学习一下基本的二叉搜索吧~~大师兄 <a href="http://infolab.tamu.edu/people/zcheng">程致远</a>说了,要是面试当场让写这个写不出来就可以直接出去了~~~

我知道的搜索算法里面最常被想到的就是BinarySearch了,最为最基本的搜索算法,写的时候还是有一些细节需要被注意到,例如计算下标时的“+1”和“-1”。下面附上面试宝典《cracking the coding interview》里面的示例写法,我觉得这是我搜到的版本里面写得最简洁明白的了。

int BinarySearch(int[] a, int x, int low int high)
{
	if (low > high) return -1;
	
	int mid = (low + high) / 2;
	if (a[mid] < x) {
		return BinarySearch(a, x, mid + 1, high);
	} else if (a[mid] > x) {
		return BinarySearch(a, x, low, mid - 1);
	} else {
		return mid;
	}
}
<a href = "http://blog.csdn.net/urjnasw_xkfjjkn">urjnasw xkfjjkn @ CSDN</a>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值