文档章节

JAVA 数据结构 查找算法

狂奔啦蜗牛
 狂奔啦蜗牛
发布于 2012/08/31 17:13
字数 276
阅读 678
收藏 2

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

查找

查找的基本概念:

在一组记录组成的集合中寻找关键字与给定值相等

查找表:是一种以同一类型的记录构成的集合逻辑结构有查找为核心的数据结构

平均查找长度:通常把给定的值和关键字比较的次数的期望值作为衡量一个查找算法的优劣的标准。静态查找表设计三种方法:顺序查找,二分查找,分块查找

顺序查找:最简单最基本的查找方法及就是遍历基本表查找与关键字相等的记录;

具体代码如下:

/*顺序查找
	 * 2012/08/31
	 * Kiss_My_Love
	 * */
	public int seqSearch(Object[] arr,Object obj){
		int i=0;
		while(i<arr.length&& !obj.equals(arr[i])){
			i++;
		}
		if(i<arr.length)
			return i;
		else return -1;	
	}

二分查找

/*二分查找
	 * 2012/08/31
	 * Kiss_My_Love
	 * */
	public int binarySearch(Object[] arr,Object obj){
		int mid=0, low=0,high=arr.length-1;
		if(arr.length>0){
			while(low<=high){
				mid=(low+high)/2;
				if(arr[mid].equals(obj)){
					return mid;
				}else if((Integer)arr[mid]>(Integer)obj){
						high=mid-1;
				}else{
					low=mid+1;
				}
			}
		}
		return -1 ;	
	}


分块查找

© 著作权归作者所有

狂奔啦蜗牛
粉丝 8
博文 17
码字总数 15025
作品 0
西安
程序员
私信 提问
《数据结构与算法系列》合集整理

《数据结构与算法系列》合集整理 整理来自博客园skywang12345,以下摘自作者介绍: “最近抽空整理了"数据结构和算法"的相关文章。在整理过程中,对于每种数据结构和算法分别给出"C"、"C++"...

kaixin_code
2018/12/01
231
0
如何理解并掌握 Java 数据结构

一说起“数据结构”可能很多同学都又交给老师了。但是实际工作中如果做得深入一些,特别是越往上发展,越大公司越离不开数据结构。本场 Chat 作者将带领大家重温《Java 数据结构》,讲解的内...

valada
2018/04/12
0
0
一文掌握关于Java数据结构所有知识点(欢迎一起完善)

在我们学习Java的时候,很多人会面临我不知道继续学什么或者面试会问什么的尴尬情况(我本人之前就很迷茫)。所以,我决定通过这个开源平台来帮助一些有需要的人,通过下面的内容,你会掌握系...

snailclimb
2018/05/08
0
0
深入理解 ThreadLocal (这些细节不应忽略)

前言 对于 ThreadLocal 的使用,并不难。但要深入理解 ThreadLocal 的实现方式,需要细细揣摩。写本文前,我在网上看了很多关于 ThreadLocal 的分析,但却感到遗憾,因为很多文章存在着一定误...

徐志毅
2018/04/11
0
0
Java进阶之路——从初级程序员到架构师,从小工到专家

前言:此文章之前大号发过 后被恶意举报封号然此文章被发到博客 在此不计较那些人品有问题之人 再发一遍 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应...

慕安
2017/06/28
669
4

没有更多内容

加载失败,请刷新页面

加载更多

阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效

今天我们要说的 AV1 可不是我们平时说的 .AVI 文件格式,它是由AOM(Alliance for Open Media,开放媒体联盟)制定的一个开源、免版权费的视频编码格式,可以解决H.265昂贵的专利费用和复杂的...

一肥仔
25分钟前
8
0
软件缺陷静态分析 CodeSonar 5.2 新版发布

对于使用C和C++构建安全关键软件的开发团队而言,CodeSonar一直是首选的静态分析解决方案。在近期发行的版本中,CodeSonar通过使用开放标准来扩展其语言覆盖范围,并增加了对Java、C#、Obj...

旋极科技
26分钟前
5
0
数据迁移

1. insert into values 或 insert into select批量插入时,都满足事务的原子性与一致性,但要注意insert into select的加锁问题。 2. replace into与insert into on duplicate key update都可...

qiang123
32分钟前
6
0
Linux装Windows系统后还不会激活?3招教你搞定

     相信大家已经发现荣耀MagicBook科技尝鲜版有多“香”了,不但可以轻松的将Linux系统装回Windows系统,还足足省下了300大洋!但是装回系统就万事大吉了吗?NoNoNo,我们还需要去激活...

梅丽莎好
35分钟前
6
0
Tomcat8源码分析-请求处理过程

上一篇:Tomcat8源码分析-启动流程-start方法 此篇主要讲Tomcat8从接收请求到处理请求的时序图画出来,并用文字描述一下主要流程 时序图 说明 文字描述流程之前先提示如下两点: 1.Acceptor...

特拉仔
37分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部