美文网首页
大话数据结构—二分查找(十一)

大话数据结构—二分查找(十一)

作者: 浅浅星空 | 来源:发表于2019-02-20 21:07 被阅读1次

1.二分查找

public class BinarySearch {

    //  1.非递归方式
    public static int search1(int[] array, int key) {
        int low = 0;
        int high = array.length - 1;
        int mid = 0;
        while (low <= high) {
            mid = (low + high) / 2;
            if (array[mid] == key) {
                return mid;
            } else if (array[mid] < key) {
                low = mid + 1;
            } else if (array[mid] > key) {
                high = mid - 1;
            }
        }
        return -1;
    }

    // 2.递归方式
    public static int search2(int[] array, int low, int high, int key) {
        if (low <= high) {
            int mid = (low + high) / 2;
            if (array[mid] == key) {
                return mid;
            } else if (array[mid] < key) {
                return search2(array, mid + 1, high, key);
            } else if (array[mid] > key) {
                return search2(array, low, mid - 1, key);
            }
        }
        return -1;
    }

    public static void main(String[] args) {
        int[] array = {1, 3, 4, 6, 345, 655, 866};
        System.out.println(search1(array, 4));
        System.out.println(search1(array, 655));
        System.out.println(search1(array, 565));
        System.out.println("-----------");
        System.out.println(search2(array, 0, array.length - 1, 6));
        System.out.println(search2(array, 0, array.length - 1, 3));
        System.out.println(search2(array, 0, array.length - 1, 655));
        System.out.println(search2(array, 0, array.length - 1, 346));
    }

}

相关文章

  • 大话数据结构—二分查找(十一)

    1.二分查找

  • 排序算法

    算法与数据结构基础 查找算法: 二分查找法: 简介:二分查找法又被称为折半查找法,用于预排序的查找问题 过程: 如...

  • 二分查找

    二分查找是一种查询效率非常高的查找算法。又称折半查找。 起初在数据结构中学习递归时实现二分查找,实际上不用递归也可...

  • java实现二分查找-两种方式

    二分查找是一种查询效率非常高的查找算法。又称折半查找。 起初在数据结构中学习递归时实现二分查找,实际上不用递归也可...

  • 【爬虫】数据结构实现折半查找的算法

    数据结构实现折半查找的算法 折半查找技术,也就是二分查找,通常称为二分法查找。它的前期是线性表中的记录必须是关键码...

  • 2021-02-02

    二分查找(折半查找) 二分查找的过程和序列的下标从0开始还是从1开始无关。一般我们从1开始 数据结构重点讲过,这里...

  • 2018-08-13

    数据结构 二分查找 1、使用二分查找需要满足的条件: (1) 存储在数组中 (2) 有序排列 所以如果是用链表存储...

  • 数据结构实验之查找四:二分查找

    数据结构实验之查找四:二分查找 Time Limit: 30MS Memory Limit: 65536KB Pr...

  • 数据结构与算法 树 引言 顺序查找 ​ 哨兵的方式 ​ 时间复杂度为O(N) 二分查找查找树的形式我...

  • 二分查找

    二分查找,是一种在特定环境下较为快速的查找方法,为什么这样说呢,以为二分查找的依赖性很强,非常依赖线性表的数据结构...

网友评论

      本文标题:大话数据结构—二分查找(十一)

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