Hash Table(三)什麼是 Hash Table 雜湊表?

講解 Hash Table 的意思

-1 min read

  • 當資料沒有數字可以當作索引,或是資料間當作索引的數字差距太大,導致 Array 過長,就可以透過某種 Hash function 把資料中某個 Key 雜湊為較小數字的索引,這樣就更容易儲存資料,也好存取。
  • Hash Table 是一個陣列,陣列中每個元素都是一個 bucket。
  • 選出每筆資料都有的一個值當作 key(如姓名、編號),經過 hash 函式後可以得到索引,藉此知道資料要放在 Hash Table 中哪個 bucket 中。
  • 若遍歷原始資料 hash 過後,得到重覆的索引,就稱作衝突,可以用 Array 或是 Linked List 的結構讓資料共存在 bucket 內。
  • 公開的方法:set、get、delete
  • 私有的方法:hash

時間複雜度

  • set:O(1)
  • Delete: O(1)
  • get: O(1):能夠透過 hash function 直接找出該 key 對應的 bucket

參考

十六分鐘略懂刷題面試