Python中dict结构用哈希表构建,采用开放寻址法解决哈希冲突
1、哈希函数构造方法
自己选择某种规则,避免冲突
直接定址法
数字分析法
平方取中法
折叠法
除留余数法(除数为质数)
2、解决冲突方法
待插入的元素按哈希函数计算得到的地址已经被占用
开放定址法:
线性探测再散列,地址不断加1,2,3,,
二次探测再散列,加1,-1,2**2,-2**2,3**2,,
伪随机
链地址法:
同地址的关键字存储在同一线性链表中,链表按关键字有序
公共溢出区:
3、查找
根据关键字求哈希地址
同该地址上关键字比较,如果相等,返回查找成功,如果不相等,按照处理冲突的方法查找下一地址
数据结构与算法篇——hash
最新推荐文章于 2024-05-03 15:46:23 发布