package algorithm.search;
public class Search {
public int BinSearch(int [] a,int k){
int low = 0;
int high = a.length-1;
while(low<=high){
int mid = (low+high+1)/2;
if(k==a[mid]){
return mid;
}else if(k<a[mid]){
high = mid-1;
}else{
low = mid+1;
}
}
return 0;
}
public static void main(String[] args) {
Search search = new Search();
int a[] = {2,5,6,9,12,45,68,71,75,79,85,96,102,200,205,300,999};
System.out.println(search.BinSearch(a, 9));
}
}
分享到:
相关推荐
算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...
算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...
算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...
数据结构与算法(Python) 一、引入概念 1-01算法引入 1-02 时间复杂度与大O表示法 1-03-最坏时间复杂度与计算规则 1-04-常见时间复杂度与大小关系 1-05-代码执行时间测量模块 1-06-Python列表类型不同操作的...
《数据结构与算法分析:Java语言描述(第2版)》是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。...
本章将通过多个面试题,为你讲解算法面试题的解题思路,同时复习常用数据结构和算法思维。 ## 为何要考察 如果在短时间之内快速判断一个工程师是否优秀?考察算法是最合理的方式 —— 这是业界多年的经验积累。 ...
( A ) 9、二分查找法要求待查表的关键字的值必须有序。( A ) 10、哈希法是一种将关键字转换为存储地址的存储方法。( A ) 11、在二叉排序树中,根结点的值都小于孩子结点的值。 ( B ) 12、对有序表而言,采用二分...
1. 实验目的 1) 复习顺序查找、二分查找、分块查找的基本算法及适用场合; 2) 掌握哈希查找的基本方法及适用场合,并能在解决实际问题时灵活应用; 3) 巩固在散列查找时解决冲突的方法及特点。 2. 实验内容 1) 哈希...
内容简介《数据结构与算法分析:Java语言描述(第2版)》是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。...
如何利用二分查找算法在一个有序表中插入一个元素x,并保持表的有序性? 实验7:至少三种排序算法的程序实现 (第十六周星期三7、8节) 一、 实验目的 1.掌握简单插入排序、冒泡排序、快速排序、堆排序以及归并...
对于有序数列,才能使用二分查找法 .使用递归的方式实现二分查找 .使用循环的方式实现二分查找 二、数据结构 1.线性结构 数组;栈;队列;链表;哈希表。。。 链表: 优点:真正的动态, 不需要处理固定容量的问题 ...
31 习题9 排序------------------------------------------------------------------------------------34 第1部分 C++基本知识 各种数据结构以及相应算法的描述总是要选用一种语言工具。在计算机科学...
leetcode 分类 LeetCode-solution-by-classification 把 LeetCode 上的题目根据涉及的数据结构和算法类型来归类,方便按模块复习知识,主要内容如下: ...二分查找 贪心思想 分治思想 搜索(DFS&BFS) 动态规划
6.二叉树、取地址、栈、二分查找、深搜、宽搜、哈夫曼二叉树、列表、排序(数据结构与算法) 7.排序(排列组合) 8.综合 二、其他类题目 1.写程序运行结果 2.程序填空 (一)数学 (二)贪心 (三)二分查找 (四)...
此项目只是为了在毕业之前复习一下曾经学过的数据结构/算法,初衷是打算仅仅使用Python实现,但写了简单的排序/查找算法之后,觉得对于C/C++我还是应该学习一下,于是就附带了一些之前在BNU上的练习代码。...
5.13.7 管理内部数据结构 5.14 复习题 5.15 参考文献 第三部分 I/O系统 第6章 I/O系统概述 6.1 从用户到设备的I/O映射 6.1.1 设备驱动程序 6.1.2 I/O队列 6.1.3 中断处理 6.2 字符设备 6.2.1 原始设备和物理I/O ...
查找算法,包括了斐波那契,二分,插值查找 recursion: 递归算法的应用: 迷宫 八皇后问题(回溯) 数据结构包 main方法进行测试,部分代码加了注释,后续学习和代码完善 部分代码可能有复习io的知识 leetcode 包 ...
搜索(线性和二分查找)、 递归函数(阶乘、斐波那契数列)、 时间复杂度(线性、二次和常量) 数组中的双指针、滑动窗口思想。 利用 Map 和 Set 处理查找表问题。 链表的各种问题。 利用递归和迭代法解决二叉树问题...
(2)在发送数据过程中进行冲突检测,如果在冲突窗口内没有发生冲突,则表示数据发送成功,否则立即停止发送,并采用二进制指数回退算法,等待一个随机时间后在重复发送过程;(2分) (3)对于接收方,则根据数据包...