古詩詞大全網 - 成語故事 - 哈希表和鏈表有什麽區別?

哈希表和鏈表有什麽區別?

哈希表和鏈表概念區別:

鏈表是壹種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。鏈表由壹系列結點(鏈表中每壹個元素稱為結點)組成,結點可以在運行時動態生成。

哈希表是根據關鍵碼值(Key Value)而直接進行訪問的數據結構。它通過把關鍵碼值映射到哈希表中的壹個位置來訪問記錄,以加快查找的速度。這個映射函數就做散列函數,存放記錄的數組叫做散列表。

特別註意:

每個結點包括兩個部分:

壹個是存儲數據元素的數據域;

另壹個是存儲下壹個結點地址的指針域。 相比於線性表順序結構,操作復雜。線性表的鏈式存儲表示,有壹個缺點就是要找壹個數,必須要從頭開始找起,十分麻煩。

散列存儲的基本思路:以數據中每個元素的關鍵字K為自變量,通過散列函數H(k)計算出函數值,以該函數值作為壹塊連續存儲空間的的單元地址,將該元素存儲到函數值對應的單元中。

Java壹般常用的集合體系: