`

折半查找 (即:二分查找) java实现代码

 
阅读更多
/**
*
*   
* 项目名称:Demo  
* 类名称:BinarySearch  
* 类描述:  折半查找,二分查找。要求数组有序,从数组的中间进行比较,依次缩小范围* 创建人:k0441  
* 创建时间:2011-10-9 下午06:40:23     
* @version   
*
*/
public class BinarySearch {
public static void main(String[] args) {
int[] i = new int[200];
for(int a=0;a<i.length;a++){
i[a]=a;
}

System.out.println(search(i, 199));
}

public static int search(int[] i,int searchWord){

int start=0;
int middle=0;
int end=i.length;


if((end>start)&&(searchWord>=i[0])&&(searchWord<=i[i.length-1])){//数组长度大于1
middle=(start+end)/2;

while (i[middle]!=searchWord) {
System.out.println(i[middle]);

if(i[middle]>searchWord){//数组中间的数大于关键字

   end=middle-1;//数组截取的终点在: 中间-1
   middle=(start+end)/2;   
}else {

start=middle+1;//数组街区的起点在: 中间+1
middle=(start+end)/2;
}
  
}
System.out.println("find out");
return i[middle];

}else {
System.out.println("error");
   return 0;
}


}


}
分享到:
评论

相关推荐

    分治法应用(折半查找也叫二分查找)

    用分治法思想实现二分查找,Java语言描述。

    java实现折半查找算法

    所谓的二分查找,指的是将待查的数据序列而分化,然后对比中间中间值和要查找值,判断结果,相等则找到,小于则在左边的子序列找,大于则在右边的子序列找

    二分查找JAVA实现

    二分查找 折半查找

    java 折半查找法(二分查找)实例

    java 折半查找法(二分查找)实例,需要的朋友可以参考一下

    分别用递归和非递归方法实现二分查找算法 的完整程序

    分别用递归和非递归方法实现二分查找算法 的完整程序,indexof()返回的是循环实现的二分法查找,getindex()实现的是递归算法实现的二分法查找。

    java源码包2

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    java二分查找

    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素...

    javascript折半查找详解

    折半查找法: 在有序表中,把待查找数据值与查找范围的中间元素值进行比较,会有三种情况出现: 1) 待查找数据值与中间元素值正好相等,则放回中间元素值的索引。 2) 待查找数据值比中间元素值小,则以整个查找...

    java 算法二分查找和折半查找

    主要介绍了java 算法二分查找与折半查找的相关资料,需要的朋友可以参考下

    Java二分查找(普通方法和递归方法)

    二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 要求: 必须采用顺序存储结构。 必须按关键字大小有序排列。...

    java实现折半排序算法

    折半插入排序法,又称二分插入排序法,是直接插入排序法的改良版,也需要执行i-1趟插入,不同之处在于,第i趟插入,先找出第i+1个元素应该插入的的位置,假定前i个数据是已经处于有序状态。

    [数据结构与算法] 查找算法

    查找算法 线性查找二分查找差值查找斐波那契查找 鉴于在排序算法时, 搞得比较乱的情况, 导致查找不太方便. 因此, 在写查找算法时, 我会将所有的东西都写在一起, 便于查找和阅读 在java中,我们常用的查找有四种: ...

    Search-algorithm:java实现的常用搜索算法、查找算法

    ### /** ... * 折半查找、二分查找 。前提:数组是 按升序排列 的。 * @param sz * @param key * @return 下标 */ public static int BinarySearch(int[] sz, int key) { int low = 0; int high

    递增有序顺序表的插入java

    在Java中,如果我们想要在一个递增有序的数组中插入一个新的元素,我们可以使用二分查找来确定插入的位置。以下是一个示例方法: 这个程序首先定义了一个递增有序的数组,然后使用二分查找找到应该插入新元素的位置...

    【JAVA基础】【算法】冒泡排序_优化排序,二分法查找_折半检索

    Java基础–基本算法 JAVA主要作为一个后端语言,对逻辑和基本算法的要求是明显高于前端程序员的(个人认为),所以大家平常逻辑性不太好的就需要多多复习和学习来提高自己的水平。 1.冒泡排序(优化排序) 冒泡排序...

    java8源码-interview:面试

    java8 源码 Table of Contents ...二分查找 o(nlog(n)) 分块查找 B树和B+树查找 hash表查找 o(1) 排序 插入排序 直接插入排序 折半插入排序 希尔排序 交互排序 冒泡排序 快速排序 选择排序 简单选择排序

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例190 泛型化的折半查找法 241 第9章 编程常用类 343 9.1 Calendar类的使用 244 实例191 简单的数字时钟 244 实例192 简单的电子时钟 245 实例193 简单的模拟时钟 246 实例194 简单的公历万年历 248 实例195 查看...

Global site tag (gtag.js) - Google Analytics