`
lvwenwen
  • 浏览: 930620 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

java中数据结构二分查法

阅读更多
数据结构和算法是一个程序的灵魂,优化程序的主要手段。在查询里,分为静态查询和动态查询。有序表是静态查询的一种,在。有序表查找过程中,可以用折半查找实现。代码如下:
Java代码 
package Array; 
/**
* 折半查找
* @author luozhong
*
*/ 
public class ArrayTest_lesson1 { 
    //定义数组 
    int array[]=new int[]{0,1,2,3,4,5,6,7,8,9}; 
    //定义三个变量 
    int low, mid,high; 
     
    public static void main(String args[]){ 
         
        new ArrayTest_lesson1().init(9); 
    } 
    public void init(int temp){ 
        //此变量指着第一个元素 
        low=1; 
        //此变量指着末元素 
 
        high=array.length; 
        //调用查询方法 
        int key=Index(low,high,temp); 
         
        System.out.println("查询结果为:"+key); 
         
         
    } 
    private int Index(int low2, int high2, int temp) { 
          //判断循环的条件 
        while(low2<=high2){ 
             
            mid=(low2+high2)/2; 
            //判断是否与查询值相等,返回索引位置 
            if(temp==array[mid]) return mid; 
            //如果小于数组元素 
            else if(temp<array[mid])  high2=mid-1; 
            ////如果大于数组元素 
            else low2=mid+1; 
             
        } 
        return 0; 
    } 
 


          折半查找的性能分析,他查找的过程可用二叉树来描述。折半查找在查找不成功时候和给定值进行比较关键字个数最多也不超过{logn/log2}+1.
          假设表中每个记录查找概率相等(p=1/n),则查找成功时的折半查找的平均查找长度如图:
分享到:
评论

相关推荐

    Java数据结构和算法中文第二版

    Java数据结构和算法介绍了计算机编程中使用的数据结构和算法,对于在计算机应用中如何操作和管理数据以取得最优性能提供了深入浅出的讲解。全书共分为15章,分别讲述了基本概念、数组、简单排序、堆和队列、链表、...

    java二分搜索法程序,分行显示

    用java做的一个对文章的显示的程序,用到了二分法对于到了边界的或者是段落做的处理。

    java数据结构之二分查找法 binarySearch的实例

    主要介绍了java数据结构之二分查找法 binarySearch的实例的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下

    Java数据结构和算法中文第二版(1)

    Java数据结构和算法中文第二版(1) Java数据结构和算法中文第二版(2) 【内容简介】 本书可帮助读者: 通过由基于JAVA的演示所组成的可视专题讨论来掌握数据结构和算法 学会如何为常见和不太常见的编程条件选择...

    Java数据结构和算法中文第二版 源代码

    《Java数据结构和算法中文第二版》配套的源代码。 分2部分,一部分是代码,一部分是演示类Applet。

    java数据结构和 +源代码.(中文第二版)

    分3份,分别下载~ java数据结构和 + 源代码.(中文第二版)

    java数据结构与算法第二版

    Java数据结构的类库 小结 问题 第2章 数组 Array专题Applet Java中数组的基础知识 将程序划分成类 类接口 Ordered专题applet 有序数组的Java代码 对数 存储对象 大O表示法 为什么不用数组表示一切? 小...

    Java数据结构(1).pdf

    Java笔试面试题2009 1、题目:写一个二分查找,查找关建字所在的位置。 代码如下: public class BinarySearch { public BinarySearch(){ } int[] dataArray=new int[]{1,2,3,4,5,6,7,8}; public int biSearch(int ...

    java数据结构答案

    叶核亚第二版的数据结构(java)课后习题,不是每一题都有答案的,还是要靠自己啊

    java数据结构和算法实践

    以下是关于Java数据结构和算法的一些介绍: Java作为一种流行的编程语言,在数据结构和算法的实现方面有着广泛的应用。数据结构指的是在计算机中组织和存储数据的方式,算法则是明确定义的解决特定问题的规则和步骤。...

    java数据结构笔试题

    这些题是我2009年考各大公司java工程师所遇到的出现频繁的考题,包含冒泡,选择,二分查找...。其中的代码已通过测试,可放心使用。其中的代码均是本人原创。

    尚硅谷Java数据结构与java算法(Java数据结构与算法).zip

    排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法,分支限界...

    java算法数据结构.zip

    排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法,分支限界...

    Java数据结构和算法.第二版(带完整附录与习题答案)PART.1

    Java数据结构和算法.第二版(带完整附录与习题答案)part1 不是平时下的那种9mb版本 如果你分不够,可以去www.suzker.cn的分享页留言,我回尽快发给你。

    Java数据结构和算法.第二版(带完整附录与习题答案)PART2

    Java数据结构和算法.第二版(带完整附录与习题答案) 不是平时下的那种9mb版本 part2 如果你分不够,可以去www.suzker.cn的分享页留言,我回尽快发给你。

    Java数据结构和算法(第二版)

    Java数据结构的类库 小结 问题 第2章 数组 Array专题Applet Java中数组的基础知识 将程序划分成类 类接口 Ordered专题applet 有序数组的Java代码 对数 存储对象 大O表示法 为什么不用数组表示一切? 小结 问题 实验...

    Java数据结构和算法中文第二版(2)

    Java数据结构的类库 小结 问题 第2章 数组 Array专题Applet Java中数组的基础知识 将程序划分成类 类接口 Ordered专题applet 有序数组的Java代码 对数 存储对象 大O表示法 为什么不用数组表示一切? ...

    01_Java版数据结构与算法 02_算法_直通BAT算法精讲

    数据结构1.pptx 2X1{SH5V_HSM`5JS[H]Z`JP.png 33XTI0U)]QTVK1MINJY0)F3.png 34MMEH64LMCA}H5G_RXKPGO.png 65]YTLJ{NP7ICB9{]%XK5J2.png 73I2ZJ(3Z5XWL3W1LFVZRCR.png MQJ[~8HPO2L{35`{CY8{WXO.png P)(%S5}WL7HD(09E1...

    Java版数据结构与算法.zip

    排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法,分支限界...

Global site tag (gtag.js) - Google Analytics