查找
iteye_8466
这个作者很懒,什么都没留下…
展开
-
二分(折半)查找算法
二分查找又称折半查找,它是一种效率较高的查找方法。 折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。 折半查找是一种高效的查找方法。它可以明显减少比较次数,提高查找效率。但是,折半查找的先决条件是查找表中的数...原创 2012-09-14 22:36:08 · 295 阅读 · 0 评论 -
哈希表,开放地址法之再哈希代码(JAVA)
哈希表中,一串连续的已填充单元叫做填充序列。增加越来越多的数据项时,填充序列变的越来越长,这叫做聚集。[img]http://dl.iteye.com/upload/attachment/0077/6527/c2c1bb99-e7da-3916-887f-f93f4a340f1e.gif[/img][img]http://dl.iteye.com/upload/atta...原创 2012-12-10 14:58:29 · 161 阅读 · 0 评论 -
哈希表,开放地址法之线性探测代码(JAVA)
[code="java"]import java.io.*;class DataItem { //数据 private int iData; // data item (key) public DataItem(int ii) { iData = ii; } public in...原创 2012-12-10 10:42:06 · 262 阅读 · 0 评论 -
折半查找的递归与非递归算法
[code="java"]public class biSearch { /** * @param args * 作者:undoner /* 折半查找--当查找表是有序表时,可采用折半查找; 基本思想:在有序表中,取中间元素作为比较对象,若给定值K与中间记录关键字相等,则查找成功; 若给定值K小于中间记录的关键...原创 2012-12-09 13:37:03 · 260 阅读 · 0 评论 -
有监视哨的顺序查找
[code="java"]public class seqSearch { /** * @param args */ /* 顺序查找又称线性查找; 基本思想:从查找表的一端开始,向另一端逐个按给定值K与关键字进行比较,若找到,查找成功; 并给出记录在表中的位置;若整个表检测完,仍未找到与K值相同的关键字,则查找失败...原创 2012-12-09 13:04:32 · 505 阅读 · 0 评论 -
链地址法处理Hash冲突
哈希表中的每个位置称为桶(bucket),当发生哈希冲突时就以链表形式存放多个元素。 [img]http://dl.iteye.com/upload/attachment/0074/2042/48d55554-0eec-3044-9e1c-28bb0fa44716.jpg[/img]链地址法处理Hash冲突,看看下面代码,模拟了JDK中的HashSet:[code="java...原创 2012-09-22 22:45:43 · 143 阅读 · 0 评论 -
学习“五大经典查找”(3)
今天就聊聊这个”五大经典查找“中的最后一个”二叉排序树“,又叫二叉查找树。1. 概念[img]http://dl.iteye.com/upload/attachment/0074/1780/5467852b-afdc-3345-812f-4ccd19e6df72.gif[/img]如图就是一棵二叉排序树:[img]http://dl.iteye.com/upload/att...原创 2012-09-22 07:41:52 · 74 阅读 · 0 评论 -
学习“五大经典查找”(2)
大家可否知道,其实查找中有一种O(1)的查找,即所谓的秒杀。 第三:哈希查找: 对的,他就是哈希查找,说到哈希,大家肯定要提到哈希函数,呵呵,这东西已经在我们脑子里面形成固有思维了。大家一定要知道“哈希“中的对应关系。 比如说: ”5“是一个要保存的数,然后我丢给哈希函数,哈希函数给我返回一个”2",那么此时的”5“和“2”就建立一种对应关系,这种关系就是所谓的...原创 2012-09-21 23:04:23 · 93 阅读 · 0 评论 -
学习“五大经典查找”(1)
网上看到《五大经典查找》,学习了。原文代码用C#,这里用java,顺便对照一下两种语言的语法。 在我们的生活中,无处不存在着查找,比如找一下班里哪个mm最pl,猜一猜mm的芳龄....... 对的这些都是查找。 在我们的算法中,有一种叫做线性查找。分为:顺序查找。 折半查找。查找有两种形态:分为:(1)破坏性查找 比如有一群mm...原创 2012-09-21 14:42:50 · 80 阅读 · 0 评论 -
学习笔记:三数组实现的HashMap
网上的一个HashMap代码,用三个数组实现,不同于jdk中的实现方式。处理哈希冲突是采用二次哈希(再哈希)的策略,学习了一把,个别地方可能没有理解到位。写了一些注释,如果有错误,敬请指出。[code="java"]public final class LongHashMap { protected long table[];//存放键,类型为long,应...2012-12-18 11:02:56 · 126 阅读 · 0 评论