首页 > 其他 > 详细

哈希表(数据结构)

时间:2020-12-29 15:41:20      阅读:23      评论:0      收藏:0      [点我收藏+]

 

技术分享图片

 

 直接定址法:

直接取关键字的某个线性函数值为散列地址。Hash(key) = a*key + b (其中a,b为常数)

方法简单,不会产生冲突,若关键字分布不连续,则会浪费空间。

技术分享图片

 

技术分享图片

 

技术分享图片

 

解决哈希冲突的方法:开放定址法、拉链法

 技术分享图片

 

 

 开放定址法中不能随便删除某个元素,因为会导致对相同H(key)的后续检索,当几个不同key的H(key)相同时,需要根据增量序列计算查看当前key是否存在了其他的地址位,如果中间的某个key被删除,则不在向后继续检索,会被认为该key不在表中。解决办法是在删除时做标记,标记被删除的地址在之前存放过元素。

 技术分享图片

 

拉链法(哈希桶):适用于经常进行插入和删除的情况。与开放定址法相比,拉链法的插入删除不会对映射到同一地址的其他key造成影响

 技术分享图片

 

 装的越满,发生冲突的概率越大,查找效率越低

哈希表(数据结构)

原文:https://www.cnblogs.com/0patrick/p/14206155.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!