摘要: Hash查找因?yàn)槠銸(1)的查找性能而著稱,被對(duì)查找性能要求高的應(yīng)用所廣泛采用。它的基本思想是:
(1) 創(chuàng)建一個(gè)定長(zhǎng)的線性Hash表,一般可以初始化時(shí)指定length;
(2) 設(shè)計(jì)Hash函數(shù),將關(guān)鍵字key散射到Hash表中。其中hash函數(shù)設(shè)計(jì)是最為關(guān)鍵的,均勻分布、沖突概率小全在它;
(3) 通常采用拉鏈方法來(lái)解決hash沖突問(wèn)題,即散射到同一個(gè)hash表項(xiàng)的關(guān)鍵字,以鏈表形式來(lái)表示(也稱為桶backet);
(4) 給定關(guān)鍵字key,就可以在O(1) + O(m)的時(shí)間復(fù)雜度內(nèi)定位到目標(biāo)。其中,m為拉鏈長(zhǎng)度,即桶深。
閱讀全文