• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

重新整理数据结构与算法(c#)——算法套路二分法[二十四]

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前言

前面写过二分法使用的是递归手法,然后该节才有不递归的方式执行。

二分法的时间复杂度为log(2)n。空间复杂度为:1。

正文

代码:

static void Main(string[] args)
{
	int[] arr = {1,3,8,10,11,67,100 };
	int index= BinarySearch(arr,8);
	Console.WriteLine("查询出的下标索引为:"+index);//2
	Console.ReadKey();
}

public static int BinarySearch(int[] arr,int target)
{
	int left = 0;
	int right = arr.Length - 1;
	while (right>left)
	{
		var mid = (left + right) / 2;
		if (arr[mid] == target)
		{
			return mid;
		}
		else if (arr[mid] > target)
		{
			right = mid + 1;
		}
		else
		{
			left = mid - 1;
		}
	}
	return -1;
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap