二分查找法 电玩女神 2023-10-08 14:16 159阅读 0赞 ### 理解二分查找 ### 二分查找,在一组**有序数**中查找你想要的找到的数值。比如在数组arr\[10\] = \{1,2,3,4,5,6,7,8,9,10\},中查找一个数字7。 在数组里面查找一个数字,可以用过数组的下标来找到这个元素,然后在把查到的数字做对比就知道是不是你要查找的数字, 二分查找,看字面上的意思,就是把查找的范围减小为原来的一半,然后在缩小的范围又将查找的范围缩小一半,如此类推,最终的范围只有一个。这样就可以判断一个数是不是在这个范围内 。 下面通过一个代码来看一下: #include<stdio.h> int main() { int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; int left = 0;//左边元素的下标 int right = (sizeof(arr) / sizeof(arr[0])) - 1;//右边元素的下标 int mid = 0;//中间元素的下标 int k = 0;//查找的数字 printf("请输入要查找的数字:"); scanf("%d", &k); while (left <= right)//当左边元素的<=右边元素的下标的时候,说明你找的元素还在这个范围内,所以左边元素的下标是不肯能大于右边元素的下 //标 每一次查找之后,左边元素的下标或右边元素的下标都会发生改变,因为查找的范围在发生改变 { mid = (left + right) / 2; if (k > arr[mid])//k>arr[mid]说明k所在的范围是arr[mid+1]--arr[right] { left = mid + 1;// } else if (k < arr[mid]) //k<arr[mid]说明k所在的范围是arr[left]--arr[mid-1] { right = mid - 1; } else { break; } } if (left <= right]) { printf("找到了 %d\n",k); } else { printf("找不到"); } return 0; }
相关 二分查找法 前提是在已经排好序的数组中,通过将待查找的元素与中间的索引值对应的元素进行比较,若大于中间索引值对应的元素,去右半部分查找,否则,去左半部分查找。以此类推,直到找到为止;找不到 野性酷女/ 2024年01月01日 06:49/ 0 赞/ 408 阅读
相关 二分查找法 理解二分查找 二分查找,在一组有序数中查找你想要的找到的数值。比如在数组arr\[10\] = \{1,2,3,4,5,6,7,8,9,10\},中查找一个数字7。 电玩女神/ 2023年10月08日 14:16/ 0 赞/ 160 阅读
相关 二分查找法 概述:二分查找法又称折半查找法,是一种效率较高的查找方式,但,二分查找法要求数组必须采用顺序存储结构有序排列。 下面是相关代码: public class Demo 你的名字/ 2023年10月03日 11:19/ 0 赞/ 28 阅读
相关 二分查找法(折半查找法) 要求:给定数组必须要是有序的(要么从小到大,要么从大到小排序)。 -------------------- 原理:二分法查找(Binary Search)也称折半查找 ╰半夏微凉°/ 2023年06月15日 11:01/ 0 赞/ 127 阅读
相关 二分查找法 想使用二分查找法,前提是这个数列需要是有序的 template<typename T> int binarySearch(T arr[],int n, T t 柔光的暖阳◎/ 2022年10月21日 03:49/ 0 赞/ 256 阅读
相关 二分查找法 算法描述 折半的思想去定位要查找的元素 步骤: 1. 前提:有已排序数组 A(假设已经做好) 2. 定义左边界 L、右边界 R,确定搜索范围,循环执行二分查找(3、 红太狼/ 2022年09月14日 09:58/ 0 赞/ 286 阅读
相关 二分查找法 package com.wdl.day07; / @创建人 wdl @创建时间 2021/8/9 @描述 / public class 小鱼儿/ 2022年09月04日 01:45/ 0 赞/ 124 阅读
相关 二分查找法 二分查找法,所需查找次数最高为logn,以2为底 def binary_search(list, item): low and high keep tr 心已赠人/ 2022年05月18日 00:41/ 0 赞/ 302 阅读
相关 二分查找法 最基本的二分查找法、不考虑数组有重复数据、匹配到返回具体元素、没有返回-1 public class TestBinary { public int 淡淡的烟草味﹌/ 2022年02月27日 09:24/ 0 赞/ 392 阅读
相关 [查找算法]二分查找法 二分查找法是经典的入门算法,以高效和广泛应用而著称. 算法是由静态方法rank() 实现的,它接受一个整数键和一个已经有序的int 数组作为参数。如果该键存在于数组中 「爱情、让人受尽委屈。」/ 2022年02月22日 02:49/ 0 赞/ 369 阅读
还没有评论,来说两句吧...