从最初的感动开始--JAVA算法【1】--折半查找

原创 2016年08月31日 11:18:54

就以这个递归折半查找做开篇吧,距离上次写数据结构已然过去了10年。
希望自己不要基础上耗太久,赶紧迎头赶上吧~

public class HalfSearch {
    public static int halfSearch(int low,int hig,double[] list,double target){
        int result_mid = -1;
        int mid  = (low + hig)/2;
        if (low>hig) return result_mid;  
        if (list[mid] < target) result_mid=halfSearch(low,mid-1,list,target);
        else if (list[mid] > target) result_mid=halfSearch(mid+1,hig,list,target);
        else if (list[mid] == target) {
            result_mid = mid;
            }
        return result_mid;         
     }
      /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        double[] list = {65,43,23,22,18,16,14,12,9,7,5,3,2,1};
        double target =  77.0;
        int result = halfSearch(0,list.length-1,list,target);
        System.out.println(result);
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

JAVA中运用数组的折半查找算法

 java中在应用折半查找时,先要判断数组是否为空,如果为空就返回0结束查找。如果不为空,就设置两个整型数据记录数组的起始点和结束点。通过二分法得到一个中间点的数值,将所要查找的数据与这个点的数...
  • Life_android
  • Life_android
  • 2014年07月26日 12:53
  • 1303

编程之中,下标从1开始的情况

先来研究一下:问什么在编程中很多时候,我们使用的下标都是从0开始? 原因:在已知首元素时,方便计算。 例1、已知首元素的偏移量为O。计算第n一个元素的偏移量:O + (n -1)。 例2、已知一...
  • bits00
  • bits00
  • 2012年08月14日 10:36
  • 2114

从最初的感动开始--数值计算【1】--梯度下降与牛顿法

直观来说,牛顿法因为使用了二阶导信息,比单纯的一阶导数的梯度下降法,其发现极值点回收敛得更快。 我个人的理解,梯度下降考虑了函数值下降最快的方向(梯度方向)。而在有些情况下,按这样的规则改变自变量取值...
  • harpbreeze
  • harpbreeze
  • 2017年04月02日 17:22
  • 172

Java基础从0开始---自己实现ArrayList

MyArrayList——自己实现ArrayList      注:转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5965205.html   ...
  • karaage
  • karaage
  • 2017年06月30日 20:36
  • 211

Java生成流水号 - 1

流水号格式为yyyyMMddXXXX,规定每天只能到9999,代码如下: import java.text.DecimalFormat; import java.text.SimpleDateFor...
  • sqzhao
  • sqzhao
  • 2014年12月13日 08:34
  • 1561

用java实现折半查找

package service; import java.util.Scanner; public class Test003 { public static int Max = 20; //...
  • Nightliar
  • Nightliar
  • 2017年01月14日 23:59
  • 2024

数据库表设置id重新从1开始

truncate语句,是清空表中的内容,包括自增主键的信息。truncate表后,表的主键就会重新从1开始。 语法: TRUNCATE TABLE table1...
  • abcdefpm
  • abcdefpm
  • 2015年07月05日 11:51
  • 338

【数据结构与算法】折半查找算法(二分法)

如果从文件中读取的数据记录的关键字是有序排列的,则可以用一种效率比较高的查找方法来查找文件的记录,这就是折半查找法,又称为二分法搜索。         折半查找的基本思想是:减小查找序列的长度,...
  • haoxiaodao
  • haoxiaodao
  • 2015年08月10日 17:40
  • 1102

二分法查找(折半查找)

顺序查找并没有对表中的关键字域的顺序做出任何假设,与顺序查找不同,在折半查找中,表中的记录是按关键字域有序排列的,其比较会出现下面三种结果: searchumn< list[middle].key,...
  • xuguoli_beyondboy
  • xuguoli_beyondboy
  • 2015年10月26日 13:18
  • 1323

让sql server 数据库的表id从1开始

让sql server 数据库的表id从1开始
  • chenyuangege
  • chenyuangege
  • 2016年05月24日 09:18
  • 411
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从最初的感动开始--JAVA算法【1】--折半查找
举报原因:
原因补充:

(最多只允许输入30个字)