码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构—散列表查找(哈希)

时间:2018-08-23 00:17:48      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:mil   构造   存储   结果   一个   相同   散列表   技术   对应关系   

顺序表查找某个关键字的记录时,要从表头开始,挨个的比较a[i]与key的值时"="还是"≠",直到相等才返回i,表示查找成功,例如我们可以通过a[i]与key相比结果的 大或者小来进行折半查找到序列的下标;再通过顺序存储的存储位置计算法:LOC (ai)=LOC(a1)+(i-1)×c,得到内存地址,此时发现为了查找到结果,““比较”都是不可避免的,但是真的有必要吗?能否直接通过关键字Key找到记录的内存地址呢?答案是有的!

散列表概念

       

散列技术:在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key),关键字相应的记录存储位置称为散列地址。

散列技术既是一种存储方法,也是一种查找方法。

 

 

 

 

散列表查找步骤

 

 

散列技术适用范围

 

散列技术适合求解问题是查找与给定值相等的记录。查找速度快。 
散列技术不适合范围查找,不适合查找相同关键字的记录,不适合获取记录的排序,最值。

 

散列函数构造

 

 

 

处理散列冲突

    冲突:关键字key1不等于key2。但f(key1)=f(key2)。

 

 

 

 

 

未完待续。。。。。。。。。。。。。

 

数据结构—散列表查找(哈希)

标签:mil   构造   存储   结果   一个   相同   散列表   技术   对应关系   

原文地址:https://www.cnblogs.com/mytrip/p/9521004.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!