package com.algorithm.sort;
public class BinarySearch {
/**
* 二分查找法
* @param args
*/
public static void main(String[] args) {
int[] sourceArray = {9, 12, 15, 22, 24, 27, 31, 42, 48, 73};
int key = 31;
String result = search(sourceArray, key, 0, sourceArray.length-1);
System.out.println(result);
}
private static String search(int[] sourceArray, int key, int low, int high){
while(high >= low){
int middle = low + (high - low)/2;
if(sourceArray[middle] == key){
return key + "在sourceArray中的第" + middle + "位!";
}else if(sourceArray[middle] > key){
high = middle - 1;
}else{
low = middle + 1;
}
System.out.println(sourceArray[middle]);
}
return "没有找到该数";
}
}
分享到:
相关推荐
//文件名:exp9-2.cpp #include #define MAXL 100 //定义表中最多记录个数 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key;
顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
关于递归的算法文档,同时讲解二分查找,以及几个实例代码算法可供参考。
二分查找算法是运用分治的典型例子:给定已按升序排好序的n个元素a[0:n-1],现要在这n个元素中找出一特定元素x。所以容易设计出二分搜索算法:在 a[0] [1] [n-1] 中搜索 x, 找到x时返回其在数组中的位置,否则返回-...
分治法实现二分查找算法实现 分治法实现二分查找算法实现 分治法实现二分查找算法实现
编写Search_Bin函数,实现在一个递增有序数组ST中采用折半查找法确定元素位置的算法. 输入格式 第一行:元素个数n 第二行:依次输入n个元素的值(有序) 第三行:输入要查找的关键字key的值 输出格式 输出分...
数据结构中简单的二分查找(折半查找)流程图实例
本代码是利用java语言实现基本数据查询功能,实现算法为二分查找法
cout二分查找法,请输入数列个数\n"; cin>>n; for(i=0;i;i++) cin>>a[i]; while(true) { cout请输入要查找的数:"; cin>>num;//读入要查找的数 //find=binarySearch(a,0,n-1,num); find=...
二分查找基于分治算法的实现
用C++写的最全的查找算法,顺序查找,二分查找,BST查找,哈希查找,可用于学习查找算法
Python 算法 19二分查找法.mp4
C 二分查找算法源码实例,编写程序对数据序列采用二分查找法和顺序查找法查找元素的下标,要求使用类模板实现(其中二分法查找算法要求用递归实现,给定数据序列有序)。
折半查找法也称为二分查找法或二分搜索法,它充分利用了元素间的次序关系,采用分治策略而较快地查找数据。现要求给出一个待查找的实例,并给出二分搜索算法,编写程序利用此算法实现查找。
二分查找法的优点:查找速度快 1024个长度的表最长只需10次查表就能得出结果 在用NTC测试温度的方案中,NTC的温度表的长度一般是100-200 有些达到400-500的长度 在这种情况下如果用逐个查表比较的方法来查温度 会...
int BinSearch(SeqList R,int n,KeyType k) /*二分查找算法*/ { int low=0,high=n-1,mid,count=0; while (low) { mid=(low+high)/2; printf("第%d次查找:在[%d,%d]中查找到元素R[%d]:%d\n",++count,low,high,...
内含差值查找法、斐波契、哈希--拉链法、哈希——探测法、顺序查找法、二分查找法等查找方法。下载的朋友们希望给点品论哦!谢谢啦!
链表算法 二分查找法 容器STL tree 和一些经典的函数内部实现的源码
实现二分查找的完美算法 c++ 带有测试代码,和测试例子