哈希表

  • 哈希函數
    簡單講,將一個關鍵字通過哈希函數計算後轉換爲數組的下標將關鍵字對應的內容存貯在相應連續的數組空間裏,查找時通過關鍵字哈希化後得到相應的數組下標可以快速的訪問到內容。所以哈希表的快速性實際是借組了數組的快速性。通過哈希函數進行哈希化爲數組下標時可能會出現兩個不同關鍵字哈希化出兩個相同的數組下標的情況,稱爲地址衝突
  • 開放地址法
    即當哈希化後地址衝突時,通過系統的方法開闢新的地址,因爲通常情況下,哈希化對應的數組有一半是空的。當衝突時尋找下一個數組下標是否爲空,如果爲空就保存在下一個地址否則繼續尋找下一個地址……
  • 鏈地址法
    即當哈希化後地址衝突時,衝突的地址保存一個鏈表的鏈頭,衝突元素就插入鏈表中,Java集合框架中HashMap就是運用這種方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章