散列表的性能分析
通过选择合适的哈希函数,散列法的查找效率期望是常数O(1),它几乎与空间大小n无关!也适合于关键字直接比较计算量大的问题,它是以较小的a为前提,因此散列方法是一个空间换时间的概念,散列方法的存储对关键字是随机的,不便于顺序查找关键字,也不适合于范围查找,或最大值最小值查找
开放地址法:
1 平方探测时有定理得出,哈希表的大小为4k+3的素数时,平方探测能均匀的扫描全表(平方探测会造成二次聚集)
2 开放地址法应该使用懒删除
3 表大小应该为素数
4 线性探测会造成一次聚集
5 散列表示一个数组,存储效率高,随机查找
分离链表法:
1 散列表因为是顺序存储和链式存储的结合,链表部分的存储效率和查找效率都比较低
2 关键字删除不需要使用懒惰删除,直接删除即可
3 太大的装填因子a会造成查看效率的下降
a为装填因子
具体笔记来自浙江大学《数据结构课程》