哈希表总结
来源:互联网 发布:安卓纪元 矩阵潜袭 编辑:程序博客网 时间:2024/06/06 18:25
哈希表即为键值(哈希函数的自变量)到哈希值(哈希函数的函数值)的映射
哈希的两个关键点
1、哈希函数,适当的哈希函数会使查找效率提高
2、解决冲突,即不同键值对应相同的哈希值
哈希函数的方法
1)数值分析法
适用于:当键值的位数较多时,选择所有键值中数字分布比较均匀的即为选为键值
2)平方取中法
适用于:所给的所有键值的数字分布不是特别均匀的情况下,将键值平方后 ,使可选出分布比较均匀的位置当作键值
3)分段叠加法法
可用于键值较长时,具体分为移位法:将键值分为相等的几部分然后对应位相加;折叠法:同样是分为相同部分,相邻两部分以中心为轴,对称位进行相加(奇数部分为正序,偶数部分为逆序)
4)除留余数法
处理冲突的方法
opening hashing
即链地址法:将所有可能的哈希值作为头结点,建立一个头结点数组;当出现对应哈希值的键值时,就将其连接到对应哈希值的那一队链表中去
close hasing
及开放定址法:设置一个增量序列,当出现冲突时,在原先的基础上加上一个增量序列中的值,直至不发冲突为止
根据增量序列的不同有:1)线性探测再散列(di = 1,2,3,4,5,.....)缺点:容易造成非同义祠间的冲突,优点:只要空间足够,当进行插入时,一定可以找到一个位置进行插入
2)平方探测再散列(di = 1^2,-1^2,2^2,-2^2,........)缺点:效率会比较低,错过 了可以提前解决冲突的机会。
影响哈希表查找效率的因素:装填因子(元素的个数/哈希表的长度)
0 0
- 哈希表总结
- 哈希表总结
- 哈希表总结
- 哈希表总结
- 哈希表总结
- 哈希表总结
- 哈希表总结
- 哈希表总结
- 哈希表总结
- 哈希表总结
- 哈希表总结
- 关于哈希表的总结
- 转自: 哈希表总结
- 哈希表的问题总结
- 哈希表学习总结
- 哈希表 (自我总结
- 排序与哈希表总结
- 总结
- spark配置详解
- 转发代理服务器与反向代理服务器
- Android插件化学习之路(三)之调用外部.dex文件中的代码
- 作用域及auto、static、const、extern的用法和区别
- win7、win8、win10下利用计算机命令对电脑进行定时关机
- 哈希表总结
- JAVA并发与锁相关的使用
- MyEclipse 快捷键方法
- java 正则表达式(Pattern ,Matcher)的使用
- 11月18日 & 11月19日课堂笔记
- php源码之路第六章第五节 ( 写时复制(Copy On Write))
- 谁是凶手?
- 让windows python支持ORACLE之cx_Oracle-手记
- Linux Icon Customization