1. 常用哈希表的構造方法
(1)除余
(2)隨機
(3)平方后取中間某幾位
(4)折疊
(5)H(key)= a*key + b
(6)數字分析:若10位key的特定某幾位中,數字大小分布均衡,就取那幾位的
2. 處理沖突
(1)開放定址
(2)公共溢出
(3)多個哈希表
(4)鏈表
3. 性能分析
三個因素:
哈希函數,處理沖突的方法,哈希表的裝填因子。
裝填因子 a 的定義如下: a = 哈希表中元素的個數 / 哈希表的長度
a 可描述哈希表的裝滿程度。a 越小,發生沖突的可能性越小; a 越大 ,發生沖突的可能性越大。