/**
* @author xusulong
* input:已排序的序列A(从小到大),数v
* output:v在A中的位置(下标)
*/
public class BinarySearch {
public static int binerySearch(int[] A, int key, int start, int end) {
int index = 0;
int middle = (start + end)/2;
int middleKey = A[middle];
if(key == middleKey) {
index = middle;
} else if(key < middleKey){
index = binerySearch(A, key, start, middle);
} else {
index = binerySearch(A, key, middle + 1, end);
}
return index;
}
public static void main(String[] args) {
int[] A = new int[] {1,2,3,4,5,6,7,8,9,10};
int key = 1;
System.out.println(binerySearch(A, key, 0, 9));
}
}
分享到:
相关推荐
算法导论:二分查找算法。比较简单的算法,ACM QQ群里看到的,通俗易懂。
《算法导论》(Introduction to Algorithms)原书第二版 Thomas H Cormen(科曼) Charles E Leiserson Ronald L Rivest Clifford Stein著 南京大学潘金贵 顾铁成 李成法 叶懋等译 机械工业出版社 2006 本书简称CLRS...
它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心算法、平摊分析等),重点在于算法的分析和设计。对于每一个专题,作者都试图提供目前最新的研究成果及样例...
中科大算法导论实验,包括代码报告和可执行文件,vc++6.0下编程,c语言代码。 实验部分 一、要求 1.算法设计与分析1班,10月21日(周日)开始上课,晚上19:00-22:00。连续八周每周日在明德楼103实验室上实验课。 2...
它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心算法、平摊分析等),重点在于算法的分析和设计。对于每一个专题,作者都试图提供目前最新的研究成果及样例...
《算法导论》是一本好书,但是他太难了,就算是现在的我,再不借助资料的情况下,也绝看不...超四十种常见算法思想:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
二分查找 堆 最大的矩形 嵌套对象 哈希表追踪 哈希集 缓存 旋转 桶排序 分布式文件系统 BFS 堆 树集 跟踪最小值/最大值并更新结果 流(双端队列/缓存/堆/树集) 排序 间隔 实现数据结构 特里 段树和二叉索引树 图...
多线程算法,包括矩阵乘以向量,多线程矩阵相乘和多线程归并排序,穿插了二分查找算法。基于算法导论第三版
│ │ ├── BinaryQuery.php 二分查找 │ │ ├── InseertQuery.php 插入查找 │ │ ├── FibonacciQuery.php 斐波那契查找 │ │ ├── BFSQuery.php 广度优先查找 │ ├─...
[原网页] 程序员编程艺术第二十五章:Jon Bentley:90%无法正确实现二分查找 [原网页] 编程艺术第二十三~四章十一续:杨氏矩阵查找,倒排索引关键词Hash编码 [原网页] 六之再续:KMP算法之总结篇(12.09修订,必懂...
二分查找: 二分查找,包括循环实现和非循环实现 矩阵链乘法: 计算矩阵相乘的最小次数以及输出如何相乘 最优二叉查找树: 求最优二叉查找树的期望搜索代价 排序: 为一些排序的算法:快排、随机化快排、堆排序、...
二分查找 : 二叉排序树,AVL树,B-,B+ : O(1) 图结构: (对象和指针,矩阵,邻接表) 图搜索/遍历: DFS BFS : kruskal prim : Floyd,Dijkstra,bellman-ford,SPFA,A* Knuth-Morris-Pratt Boyer-Moore 参考资料 基础 《算法...
1.3 并集—查找算法 7 练习 17 1.4 展望 18 练习 19 1.5 小结 19 第2章 算法分析原理 22 2.1 实现与试验分析 22 练习 25 2.2 算法分析 25 练习 27 2.3 函数增长 27 练习 32 2.4 O记号 32 练习 35 2.5 基本递推式 36 ...
递归的二分查找 汉诺塔问题 ####回溯法 矩阵中的路径 机器人的运动范围 ####链表 循环链表 cn.diyai.linklist.CircularList 双向链表 cn.diyai.linklist.DLLNode 单向链表 cn.diyai.linklist.ListNode 链表中环的...
1.3 并集—查找算法 7 练习 17 1.4 展望 18 练习 19 1.5 小结 19 第2章 算法分析原理 22 2.1 实现与试验分析 22 练习 25 2.2 算法分析 25 练习 27 2.3 函数增长 27 练习 32 2.4 O记号 32 练习 35 2.5 基本递推式 36 ...
微软 -----------------选择: 15春《计算机科学导论》作业3 单选题 多选题 判断题 二、多选题(共 4 道试题,共 20 分。) 1. 计算机专家们为结构化程序或算法定义的三种结构包括()。 A. 顺序 B. 嵌入 C. 判断 D. ...
二、 boost字符串算法库 24 2.1 boost字符串算法库导论 24 2.1.1 boost.algorithm.string是什么? 24 2.1.2 相关 24 2.1.3 boost.range导论 24 2.1.4 boost.regex导论 24 2.1.5 boost.algorithm.string的DNA 24 2.2 ...
27.3 二分查找 263 27.4 牛顿法 267 27.5 补充练习:高斯消去法 269 第28章 回溯算法 273 28.1 图的遍历 273 28.2 补充练习:皇后之间的相互攻击 277 第29章 计算的代价和向量 280 29.1 具体的时间和抽象的时间 280 ...