您的位置:首页 > 游戏 > 手游 > 其中最重要的网络设计结果_黄骅市官方网站_外贸做网站公司哪家好_郴州网站推广

其中最重要的网络设计结果_黄骅市官方网站_外贸做网站公司哪家好_郴州网站推广

2025/4/21 13:53:00 来源:https://blog.csdn.net/qq_37237487/article/details/143248076  浏览:    关键词:其中最重要的网络设计结果_黄骅市官方网站_外贸做网站公司哪家好_郴州网站推广
其中最重要的网络设计结果_黄骅市官方网站_外贸做网站公司哪家好_郴州网站推广

前言

二分查找算法是一种在有序数组中查找特定元素的搜索算法。

实现原理

二分查找的实现依赖于以下几个关键步骤:

  1. 计算查找范围的中间索引。

  2. 比较中间索引处的值与目标值。

  3. 根据比较结果调整查找范围(左半部分或右半部分)。

  4. 重复上述步骤直到找到目标值或查找范围为空。

动图演示

看一看二分查找与顺序查找的动态对比图:

图片

代码实现

    public class 二分查找算法{/// <summary>/// 二分查找算法/// </summary>/// <param name="arr">arr是已排序的数组</param>/// <param name="target">target是要查找的目标值</param>/// <returns>目标值在数组中的索引,如果未找到则返回-1</returns>public static int BinarySearch(int[] arr, int target){int left = 0; // 定义左指针int right = arr.Length - 1; // 定义右指针while (left <= right){// 计算中间元素的索引int mid = left + (right - left) / 2;if (arr[mid] == target){// 如果中间元素等于目标值return mid; // 查找成功,返回索引}else if (arr[mid] < target){// 如果目标值小于中间元素,则在左半部分查找left = mid + 1;}else{// 如果目标值大于中间元素,则在右半部分查找right = mid - 1;}}// 未找到 target,返回-1return -1;}public static void BinarySearchRun(){int[] arr = { 1, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59 }; //注意:这里的数组是已排序的数组int target = 31; //需要要查找的目标值int result = BinarySearch(arr, target); //调用二分查找方法if (result == -1){Console.WriteLine("元素未找到");}else{Console.WriteLine($"元素找到,索引为:{result},值为:{arr[result]}");}}}

数据结构与算法实战入门指南

https://mp.weixin.qq.com/s/XPRmwWmoZa4zq29Kx-u4HA

参考文章

  • https://blog.csdn.net/Sunnyside_/article/details/114700193

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com