欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

十分钟学会哈希表

发布时间:2025/4/5 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 十分钟学会哈希表 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、为什么会有哈希表?

是想不通过比较就能找到表中的关键字

二、用的什么方法?

建立关键字与其位置的函数(哈希函数)

三、有什么问题?

不同的关键字通过哈希函数可能会产生相同的位置(产生冲突)

四、怎么解决?

按某种规则,把产生冲突的关键字放在其他位置上(处理冲突)

五、怎么构建哈希表?

建立哈希函数。最常用的构造方法是除留系数法
产生冲突的关键字地址 = key Mod p (p<=表长且为质数)

六、怎么处理冲突?

1.开放定址法

即从冲突位置前后寻找可以存放记录的空闲单元

对于增量d:

2.再哈希法

选择若干个哈希函数,这个不行用另一个

3.溢出区法

创建专门的溢出表,来存放产生冲突的关键字

4.链地址法

用数组+链表式的存储结构

七、性能分析

装载因子

ASL(平均查找长度)

只与 装载因子和处理冲突的方法 有关

计算图中哈希表的ASL


总结

以上是生活随笔为你收集整理的十分钟学会哈希表的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。