🏗️ 第 1 週:資料結構基礎(Data Structures) 1/150
- 資料結構與演算法的關係 - 演算法離不開數據結構,就像騎馬需要馬鞍一樣!
一、 核心定義:什麼是數據結構與演算法?
在進入 AI 與大數據的叢林之前,我們必須先搞清楚這兩大基石的本質。
- 資料結構(Data Structure):數據的「容器」
- 指的是電腦中組織、儲存數據的方式。
- 比喻: 就像一個書架、一個置物櫃或是一個旋轉壽司的傳送帶。不同的容器決定了你拿取東西的「姿勢」與「效率」。
- 演算法(Algorithm):解決問題的「步驟」
- 指的是解決特定問題的一系列有限且明確的指令。
- 比喻: 就像一份食譜,告訴你先切菜、再熱鍋、最後下調味料。
黃金公式:程式 = 資料結構 + 演算法 (Programs = Data Structures + Algorithms) —— Niklaus Wirth (圖靈獎得主)
二、 深度解讀:兩者的「共生」關係
為什麼說演算法離不開數據結構?我們可以從以下三個進階維度來理解:
- 結構決定效率(馬鞍效應)
- 如果你想在 100 萬本書中找一本書:
- 若書籍是隨機亂丟(無結構),你的演算法只能一本一本翻(線性搜尋),效率極低。
- 若書籍是按字母排序(有序陣列),你可以用「二分搜尋法」瞬間定位。
- 結論: 好的馬(演算法)若沒有合適的馬鞍(數據結構),跑起路來不僅顛簸,更無法發揮極致的速度。
- 時空權衡(Time-Space Trade-off)
- 數據結構的設計往往是為了「用空間換取時間」。
- 例如:哈希表(Hash Table) 耗費額外的記憶體空間來儲存索引,但卻能讓查詢速度達到驚人的 O(1) 常數時間。
- 在 AI 模型推理中,如何優化數據結構(如稀疏矩陣儲存)直接影響了演算法是否能即時運算。
- 操作限制與規範
- 每一種數據結構都定義了合法的「操作行為」。
- 例如:棧(Stack) 只允許在頂部操作,這就「鎖定」了演算法的邏輯,使其必須符合「後進先出」的特性。這不是限制,而是一種簡化問題的藝術。
三、 常見的應用場景對應表

四、 為什麼在 AI 時代這顯得尤為重要?
- 處理海量數據的基石
- 當前的 AI 模型動輒處理數十億個參數。若沒有高效的**張量(Tensor)**結構,矩陣乘法演算法將會拖垮整台超級電腦。
- 系統資源的極致利用
- 在嵌入式裝置或邊緣運算(Edge AI)中,記憶體非常珍貴。選擇「輕量化」的數據結構,是演算法能否跑在手機上的關鍵。
- 邏輯思維的訓練
- 學習數據結構不只是背公式,而是學習如何將現實世界的混亂問題,抽象化為電腦能理解的邏輯模型。
五、 總結
• 數據結構是靜態的,它是數據的組織形式;演算法是動態的,它是數據的流動邏輯。
• 數據結構是基礎,它決定了演算法的上限。如果結構選錯了,再精妙的演算法也難救。
• 學習心法:每當你學到一個新的演算法,請先問自己:「它是跑在哪種數據結構上的?」;每當你學到一個新的數據結構,請思考:「哪種演算法最適合在這個結構上起舞?」













