美文网首页
数组的折半原理

数组的折半原理

作者: 893705279802 | 来源:发表于2018-12-04 12:24 被阅读0次

必须是有序排列

折半公式:(min+max)/2

指针思想:

                折半的索引和查找元素比较

                元素>中间索引上的元素

                小指针=中间+1

                元素<中间索引上的元素

                大指针=中间-1

                小指针>大指针索引,结束

                没找到-1的索引

                元素==数组中间索引上的元素,结束

int index = binarySearch(arr,9);

public static int binarySearch(int [] arry, int key){

        int min=0;

        int max=arr.length-1;

        int mid =0;

while(min<=max){

    mind=(min+max)/2;

    if(key>arr[mid]){

        mid=mid+1;

                        } 

            else if(key<arr[mid]){

                mid=mid-1;

                }

        else{

               return mid;

            }

    }

}

return  -1;


相关文章

  • 数组的折半原理

    必须是有序排列 折半公式:(min+max)/2 指针思想: 折半的索引和查找元素比较 ...

  • Java 数组折半查找

    java 数组折半查找

  • C语言折半查找

    折半查找 折半查找的注意点折半查找只能查找有序数组的值 折半查找的逻辑1.把数组第一个元素的索引作为最小值,最后一...

  • 顺序查找

    1、顺序查找a为数组,n为查找的数组个数,key为要查找的关键字; 2、顺序查找_哨兵 3、折半查找算法假设数组a...

  • 冒泡排序,选择排序,折半查找

    选择排序 冒泡排序 折半查找(只适用于已经排好序的数组) swap函数(交换数组中两个数的位置)

  • 数组排序与折半查找

    声明一个数组 再声明用来打印数组和交换两个变量的值的function 选择排序 拿其中一个值和其他值依次比较,完全...

  • 算法分析 [折半,字符串] 2019-02-21

    1. 折半 1.1 从一维数组中求一个值/下标 724.寻找数组的中心索引 Find Pivot Index me...

  • 10个常用算法

    0x01 二分法 原理:二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。 一般步驟:(1)确定...

  • 查找

    查找 折半查找: 面试题: 给定一个有序的数组,如果往该数组中存储一个数,并保证这个数组还是有序的,那么这个元素的...

  • 二分查找

    二分查找(折半查找):前提: 数据已经有序排放在数组中,通过将待查的元素与数组最中间元素进行对比,如果大于中间值,...

网友评论

      本文标题:数组的折半原理

      本文链接:https://www.haomeiwen.com/subject/nymycqtx.html