原理
把具有相同散列地址的關鍵字(同義詞)值放在同一個單鏈表中,稱為同義詞鏈表。
有m個散列地址就有m個鏈表,同時用指針數組T[0..m-1]存放各個鏈表的頭指針,
凡是散列地址為i的記錄都以結點方式插入到以T[i]為指針的單鏈表中。
T中各分量的初值應為空指針。
用途
主要用於解決key值沖突的問題
場景
-
HashMap就用了拉鏈法 HashMap的key是轉化成了hashcode,這個值是可能重復的,但是為什么HashMap沒有問題
-
求集合交集

有序集合1{1,3,5,7,8,9}
有序集合2{2,3,4,5,6,7}
兩個指針指向首元素,比較元素的大小:
-
如果相同,放入結果集,隨意移動一個指針
-
否則,移動值較小的一個指針,直到隊尾
這種方法的好處是:
(1)集合中的元素最多被比較一次,時間復雜度為O(n)
(2)多個有序集合可以同時進行,這適用於多個分詞的item求url_id交集
這個方法就像一條拉鏈的兩邊齒輪,一一比對就像拉鏈,故稱為拉鏈法
