数据结构—散列表查找(哈希)
Posted mytrip
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构—散列表查找(哈希)相关的知识,希望对你有一定的参考价值。
顺序表查找某个关键字的记录时,要从表头开始,挨个的比较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)。
未完待续。。。。。。。。。。。。。
以上是关于数据结构—散列表查找(哈希)的主要内容,如果未能解决你的问题,请参考以下文章