雜湊與散列#
雜湊(Hash)是電腦科學中最重要的概念之一。散列表提供 O(1) 的查找效率,雜湊演算法則廣泛應用於加密、校驗、分布式系統等領域。
「散列」與「雜湊」是同一概念的不同翻譯,英文都是 Hash。
章節概覽#
| 主題 | 核心內容 |
|---|---|
| 散列表原理 | 散列函式、衝突解決、動態擴容 |
| 雜湊演算法 | 加密、校驗、唯一標識 |
| 雜湊應用 | 面試題實戰(Two Sum、Three Sum 等) |
散列表的本質#
散列表是陣列的擴展:
- 陣列:透過下標直接存取,O(1)
- 散列表:透過 key 計算出下標,O(1)
key → hash(key) → index → array[index]散列表的效能取決於:
- 散列函式的設計(是否均勻分布)
- 衝突解決策略的選擇
- 裝載因子的控制