散列表利用數(shù)組下標隨機訪問元素的特點。
散列函數(shù):將鍵值映射到散列值的函數(shù)。
- 返回非負整數(shù)(作為數(shù)組下標);
- key1 = key2,hash(key1)=hash(key2);
- key1 != key2, hash(key1)!=hash(key2)
散列沖突:
- 開放尋址:
1.1 線性探測
1.2 雙重散列 - 鏈表法
總結(jié):散列表核心問題是散列函數(shù)設(shè)計和散列沖突的解決。
思考題:
- 假設(shè)我們有 10 萬條 URL 訪問日志,如何按照訪問次數(shù)給 URL 排序?