散列表又稱(chēng)為哈希表(Hash Table), 是為了方便查找而生的數(shù)據(jù)結(jié)構(gòu)。關(guān)于散列的表的解釋?zhuān)蚁胍镁S基百科上的解釋?zhuān)缦滤荆?/p>

散列表Hash table,也叫哈希表,是根據(jù)(Key)而直接訪(fǎng)問(wèn)在內(nèi)存存儲(chǔ)位置的數(shù)據(jù)結(jié)構(gòu)。也就是說(shuō),它通過(guò)計(jì)算一個(gè)關(guān)于鍵值的函數(shù),將所需查詢(xún)的數(shù)據(jù)映射到表中一個(gè)位置來(lái)訪(fǎng)問(wèn)記錄,這加快了查找速度。這個(gè)映射函數(shù)稱(chēng)做散列函數(shù),存放記錄的數(shù)組稱(chēng)做散列表。

散列表的創(chuàng)建就是將Value通過(guò)散列函數(shù)和處理散列key值沖突的函數(shù)來(lái)生成一個(gè)key, 這個(gè)key就是Value的查找映射,我們就可以通過(guò)key來(lái)訪(fǎng)問(wèn)Value的值。本篇博客我們就來(lái)好好的聊一下散列表的實(shí)現(xiàn),當(dāng)然主要還是構(gòu)建散列函數(shù)還有解決沖突的函數(shù),下方我們先給出散列函數(shù)為“除留取余法”和處理沖突的線(xiàn)性探測(cè)發(fā)的原理圖,然后再給出面向?qū)ο蟮膶?shí)現(xiàn),最后在給出相應(yīng)的代碼實(shí)現(xiàn)。

 

網(wǎng)友評(píng)論