查找演算法 (Searching Algorithms)#

查找是演算法中最基礎也最重要的操作。高效的查找演算法能將時間複雜度從線性 O(n) 降至對數 O(log n) 甚至常數 O(1)

章節概覽#

演算法時間複雜度適用資料結構核心要求
二分查找O(log n)陣列有序、支援隨機存取
跳表O(log n)鏈結串列多層索引

查找的本質#

查找的核心問題是:如何在一堆資料中快速定位目標?

查找方式時間複雜度做法
線性查找O(n)逐一比較
二分查找O(log n)每次排除一半
雜湊查找O(1)直接計算位置

選擇查找演算法時,要考慮:

  1. 資料是否有序
  2. 資料結構是否支援隨機存取
  3. 是否需要支援動態插入/刪除

跨倉庫導讀#