`
alex_nit
  • 浏览: 27825 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

数据结构复习(二)二分查找算法

阅读更多
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));
	}
}
分享到:
评论

相关推荐

    数据结构与算法复习(Java):排序、字符串、数组、链表、二分查找、二叉树.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    数据结构与算法复习.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    数据结构和算法的复习.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    python数据结构与算法详解与源码

    数据结构与算法(Python) 一、引入概念 1-01算法引入 1-02 时间复杂度与大O表示法 1-03-最坏时间复杂度与计算规则 1-04-常见时间复杂度与大小关系 1-05-代码执行时间测量模块 1-06-Python列表类型不同操作的...

    数据结构与算法分析_Java语言描述(第2版)

    《数据结构与算法分析:Java语言描述(第2版)》是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。...

    05-二分查找.md

    本章将通过多个面试题,为你讲解算法面试题的解题思路,同时复习常用数据结构和算法思维。 ## 为何要考察 如果在短时间之内快速判断一个工程师是否优秀?考察算法是最合理的方式 —— 这是业界多年的经验积累。 ...

    数据结构复习题六.doc

    ( A ) 9、二分查找法要求待查表的关键字的值必须有序。( A ) 10、哈希法是一种将关键字转换为存储地址的存储方法。( A ) 11、在二叉排序树中,根结点的值都小于孩子结点的值。 ( B ) 12、对有序表而言,采用二分...

    数据结构-实验9-哈希查找.doc

    1. 实验目的 1) 复习顺序查找、二分查找、分块查找的基本算法及适用场合; 2) 掌握哈希查找的基本方法及适用场合,并能在解决实际问题时灵活应用; 3) 巩固在散列查找时解决冲突的方法及特点。 2. 实验内容 1) 哈希...

    数据结构与算法分析 Java语言描述第2版

    内容简介《数据结构与算法分析:Java语言描述(第2版)》是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。...

    数据结构实验

    如何利用二分查找算法在一个有序表中插入一个元素x,并保持表的有序性? 实验7:至少三种排序算法的程序实现 (第十六周星期三7、8节) 一、 实验目的 1.掌握简单插入排序、冒泡排序、快速排序、堆排序以及归并...

    leetcode分类-algotithm:算法复习

    对于有序数列,才能使用二分查找法 .使用递归的方式实现二分查找 .使用循环的方式实现二分查找 二、数据结构 1.线性结构 数组;栈;队列;链表;哈希表。。。 链表: 优点:真正的动态, 不需要处理固定容量的问题 ...

    数据结构(C++)有关练习题

    31 习题9 排序------------------------------------------------------------------------------------34 第1部分 C++基本知识 各种数据结构以及相应算法的描述总是要选用一种语言工具。在计算机科学...

    leetcode分类-LeetCode-solution-by-classification:把LeetCode上的题根据涉及的数据结构和算法

    leetcode 分类 LeetCode-solution-by-classification 把 LeetCode 上的题目根据涉及的数据结构和算法类型来归类,方便按模块复习知识,主要内容如下: ...二分查找 贪心思想 分治思想 搜索(DFS&BFS) 动态规划

    noip初赛复习(全)2022.doc

    6.二叉树、取地址、栈、二分查找、深搜、宽搜、哈夫曼二叉树、列表、排序(数据结构与算法) 7.排序(排列组合) 8.综合 二、其他类题目 1.写程序运行结果 2.程序填空 (一)数学 (二)贪心 (三)二分查找 (四)...

    leetcode迷宫python-Algorithms:用Python/C++回忆一下数据结构

    此项目只是为了在毕业之前复习一下曾经学过的数据结构/算法,初衷是打算仅仅使用Python实现,但写了简单的排序/查找算法之后,觉得对于C/C++我还是应该学习一下,于是就附带了一些之前在BNU上的练习代码。...

    FreeBSD操作系统设计与实现

    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 ...

    leetcode迷宫问题-AlgorithmPractice:算法实践

    查找算法,包括了斐波那契,二分,插值查找 recursion: 递归算法的应用: 迷宫 八皇后问题(回溯) 数据结构包 main方法进行测试,部分代码加了注释,后续学习和代码完善 部分代码可能有复习io的知识 leetcode 包 ...

    leetcode答案-Tutorial_Algorithm:教程_算法

    搜索(线性和二分查找)、 递归函数(阶乘、斐波那契数列)、 时间复杂度(线性、二次和常量) 数组中的双指针、滑动窗口思想。 利用 Map 和 Set 处理查找表问题。 链表的各种问题。 利用递归和迭代法解决二叉树问题...

    计算机网络复习题

    (2)在发送数据过程中进行冲突检测,如果在冲突窗口内没有发生冲突,则表示数据发送成功,否则立即停止发送,并采用二进制指数回退算法,等待一个随机时间后在重复发送过程;(2分) (3)对于接收方,则根据数据包...

Global site tag (gtag.js) - Google Analytics