`
lxwt909
  • 浏览: 566653 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

判断给定的一个数字x是否在指定的一个有序的数字序列中存在[二分查找方式]

阅读更多
package tree.binarytree;

/**
 * Created by Lanxiaowei
 * Craated on 2016/12/12 13:51
 * 判断给定的一个数字x是否在指定的一个有序的数字序列中存在
 * 采用二分查找方式实现
 */
public class Test4 {

    public static void main(String[] args) {
        int x = 16;
        int[] array = {1,2,3,4,5,6,7,8,9,10};
        boolean exists = search(x,array);
        System.out.println(exists);
    }

    public static boolean search(int x,int[] array) {
        if(null == array || array.length == 0) {
            return false;
        }
        int from = 0, to = array.length - 1;
        if(from > to) {
            return false;
        }
        int mid = 0;
        while (from <= to) {
            mid = (from + to) / 2;
            if(array[mid] == x) {
                return true;
            }
            //如果array[mid] > x,则表明x在中间值的左边,
            if(array[mid] > x) {
                to = mid - 1;
            } else {
                from = mid + 1;
            }
        }
        return false;
    }
}

 

分享到:
评论

相关推荐

    二分 查找 给定一个单调递增的整数序列,问某个整数是否在序列中

    给定一个单调递增的整数序列,问某个整数是否在序列中

    有序数组中二分查找,快速寻找某个整数是否在序列中

    给定一个单调递增的整数序列,问某个整数是否在序列中。输入样例: 5 1 3 4 7 11 3 3 6 9 输出样例: Yes No No

    给定一个单调递增的整数序列,问某个整数是否在序列中

    给定一个单调递增的整数序列,问某个整数是否在序列中

    C 二分查找算法.rar

    C 二分查找算法源码实例,编写程序对数据序列采用二分查找法和顺序查找法查找元素的下标,要求使用类模板实现(其中二分法查找算法要求用递归实现,给定数据序列有序)。

    采用二分查找法和顺序查找法查找元素的下标

    编写程序对数据序列采用二分查找法和顺序查找法查找元素的下标,要求使用类模板实现(其中二分法查找算法要求用递归实现,给定数据序列有序)。

    西工大算法分析二分查找(BinarySearch)

    给定一个单调递增的整数序列,问某个整数是否在序列中。 输入: 第一行为一个整数n,表示序列中整数的个数;第二行为n(n不超过10000)个整数;第三行为一个整数m(m不超过50000),表示查询的个数;接下来m行每行...

    整数的二分查找 C语言

    给定一个单调递增的整数序列,问某个整数是否在序列中。 输入: 第一行为一个整数n,表示序列中整数的个数;第二行为n(n不超过10000)个整数;第三行为一个整数m(m不超过50000),表示查询的个数;接下来m行每行...

    计算机二级公共基础知识

    查找是指在一个给定的数据结构中查找某个指定的元素。从线性表的第一个元素开始,依次将线性表中的元素与被查找的元素相比较,若相等则表示查找成功;若线性表中所有的元素都与被查找元素进行了比较但都不相等,则...

    Lotus公式语言函数简介

    @DbLookup 1 给定一个值,在一个指定的视图(或文件夹)里查找,找出视图里的第一个排序列里包含该值的所有文档。对每个选中的文档,@DbLookup 返回视图里指定列的内容,或者返回一个指定域的内容 2 使用 ODBC.INI ...

    LeetCode解题总结

    7.5 在旋转排序数组中查找指定数字 8. 暴力枚举法 8.1 求集合的子集 8.2 集合的全排列 8.3 在指定树中选择进行全排列 8.4 电话上对应数字的字母组成的所有单词 9. 广度优先搜索 9.1 单词变换路径(Word Ladder) ...

    c++实现二分搜索算法分析与设计分治算法

    用C++实现的二分搜索,改写了算法设计与分析课后的题目。按照《算法分析与设计》书上的例题的算法实现的。采用了分治法的思想。

    二分查找算法.zip

    字符串匹配算法:字符串匹配算法用于在一个字符串(文本)中查找一个子串(模式)的出现位置。常见的字符串匹配算法包括暴力匹配、KMP算法、Boyer-Moore算法等。 这些是计算机科学中常见的算法类型,每种算法都有...

    Excel公式大全操作应用实例(史上最全)

    把分散在各单元格的内容合在一个单元格中 多个工作表的单元格合并计算 【条件自定义格式】 通过条件格式将小计和总计的行设为不同的颜色 如何实现这样的条件格式 隔行不同字体颜色怎么设置 让不同类型数据用不同颜色...

    EXCEL函数公式集

    把分散在各单元格的内容合在一个单元格中 多个工作表的单元格合并计算 【条件自定义格式】 通过条件格式将小计和总计的行设为不同的颜色 如何实现这样的条件格式 隔行不同字体颜色怎么设置 让不同类型数据用不同颜色...

    数据结构第5次作业.docx

    给定关键字值key,编写算法用对分查找求下标i,满足ai-1且aikey。 2. 编程题:输入n个两两互不相等的整数,以这些整数为关键字建立平衡的二叉排序树。判断该二叉树是否为平衡的,输出判断结果;输出该二叉树的中序...

    数据结构实验

    如何利用二分查找算法在一个有序表中插入一个元素x,并保持表的有序性? 实验7:至少三种排序算法的程序实现 (第十六周星期三7、8节) 一、 实验目的 1.掌握简单插入排序、冒泡排序、快速排序、堆排序以及归并...

    查找算法的比较

    二分查找则是先对数据进行排序,然后利用三个标志,分别指向最大,中间和最小数据,接下来根据待查找数据和中间数据的比较不断移动标志,直至找到。二叉排序树则是先构造,构造部分花费最多的精力,比根节点数据大的...

    c程序设计习题参考(谭浩强三版)习题参考解答

    7.8找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。 38 7.9有15个数按从小到大的顺序存放在一个数组中。输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。...

    LeetCode 1300. 转变数组后最接近目标值的数组和(二分查找)

    给你一个整数数组 arr 和一个目标值 target ,请你返回一个整数 value , 使得将数组中所有大于 value 的值变成 value 后,数组的和 最接近 target (最接近表示两者之差的绝对值最小)。 如果有多种使得和最接近 ...

    判断链表是否为回文链表leetcode-Algorithms:Coding_Interviews和Leetcode

    判断链表是否为回文链表 leetcode Algorithms Coding_Interviews and Leetcode 回文字符串判断 求和为给定值的两个数 ...判断一个数是不是丑数 单链表删除指定数字 容纳最多水的凹槽容量 移除单链表倒数第n个节

Global site tag (gtag.js) - Google Analytics