重新整理数据结构与算法(c#)—— 算法套路二分法[二十四]
发布日期:2021-05-09 00:46:31 浏览次数:12 分类:博客文章

本文共 521 字,大约阅读时间需要 1 分钟。

前言

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

二分法的时间复杂度为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;}
上一篇:重新整理数据结构与算法(c#)—— 算法套路分治算法[二十五]
下一篇:重学c#系列——c# 托管和非托管资源(三)

发表评论

最新留言

很好
[***.229.124.182]2025年04月18日 14时34分26秒