查找算法

xiaoxiao2021-02-28  109

基本查找:适合数组元素无序(从头到尾查找) 二分查找:也叫折半查找。适合数组元素有序。每次都猜中间的那个元素,比较大或者小,就能减少一半的元素。 思想: A:定义最小索引,最大索引 B:计算出中间索引 C:拿中间索引的值和要查找的元素进行比较。相等就直接返回当前的中间索引的,大了在左边找,小了在右边找 D:重新获取最小索引或最大索引:在左边找:max=mid-1;  在右边找:min=mid+1; E:回到B int min = 0;             int max = arr.length - 1;             int mid = (max + min) / 2;             while (arr[mid] != value) {                   if (arr[mid] > value) {                         max = mid - 1;                   }                   if (arr[mid] < value) {                         min = mid + 1;                   }                   if (min > max) {                         return -1;                   }                   mid = (min + max) / 2;             }             return mid;
转载请注明原文地址: https://www.6miu.com/read-37374.html

最新回复(0)