iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

快速掌握資料結構與演算法 系列

這是一個介紹資料結構與演算法基礎知識的系列,專注在扎實的基礎與思路,讓各位讀者可以打好程式設計的基礎,本系列會從常見的資料結構出發,逐步掌握核心演算法,並在實戰題目中應用。

參賽天數 27 天 | 共 27 篇文章 | 5 人訂閱 訂閱系列文 RSS系列文
DAY 11

(Day 11) 演算法評估 (Algorithm Analysis)

到目前為止,我們已經介紹了各種資料結構 (Array、Linked List、Stack、Queue、Tree、Graph),也練習了基本操作。但光有資料結構還...

2025-09-09 ‧ 由 Alan Hsieh 分享
DAY 12

(Day 12) 氣泡排序 (Bubble Sort)

終於進入演算法的部分,預計會介紹 3~4 個很常見的排序演算法,所以光排序這個主題就會用掉一些篇幅,今天除了介紹 Bubble Sort 外,會先簡單介紹一下排...

2025-09-10 ‧ 由 Alan Hsieh 分享
DAY 13

(Day 13) 選擇排序 (Selection Sort)

選擇排序 (Selection Sort) 是一種簡單直觀的排序演算法。核心概念: 每一輪從尚未排序的元素中挑出最小(或最大)者,放到目前應在的位置,一直重複直...

2025-09-11 ‧ 由 Alan Hsieh 分享
DAY 14

(Day 14) 插入排序 (Insertion Sort)

插入排序 (Insertion Sort) 也是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃描,找到相應位...

2025-09-12 ‧ 由 Alan Hsieh 分享
DAY 15

(Day 15) 基礎排序演算法比較

在前面三天,我們分別介紹了氣泡排序 (Bubble Sort)、選擇排序 (Selection Sort)、插入排序 (Insertion Sort)。這三個演...

2025-09-13 ‧ 由 Alan Hsieh 分享
DAY 16

(Day 16) 二元搜尋 (Binary Search)

在排序演算法之後,我們終於要介紹一個非常經典且實用的搜尋演算法 —— 二元搜尋 (Binary Search)。如果說排序演算法是「把資料整理好」,那麼搜尋演算...

2025-09-14 ‧ 由 Alan Hsieh 分享
DAY 17

(Day 17) 內插搜尋 (Interpolation Search)

內插搜尋 (Interpolation Search) 是一種基於數值分布估算落點的搜尋演算法,是對 二元搜尋 (Binary Search) 的改良。它特別適...

2025-09-15 ‧ 由 Alan Hsieh 分享
DAY 18

(Day 18) 分治法 (Divide and Conquer)

前面介紹了幾個簡單又常見的排序與搜尋的演算法,接下來我們來談談演算法設計策略,仿間有很多演算法的書並不會特地把 Divide and Conquer 或 Dyn...

2025-09-16 ‧ 由 Alan Hsieh 分享
DAY 19

(Day 19) 動態規劃 (Dynamic Programming)

動態規劃 (Dynamic Programming; DP) 是一種將複雜問題分解為較小子問題,並儲存子問題解以避免重複計算的演算法設計方法。它常用於具有「重疊...

2025-09-17 ‧ 由 Alan Hsieh 分享
DAY 20

(Day 20) 貪婪演算法 (Greedy Algorithm)

貪婪演算法 (Greedy Algorithm) 是一種在每一步選擇中都採取在當前狀態下最好或最優 (即最有利) 的選擇,從而希望導致結果是全局最好或最優的演算...

2025-09-18 ‧ 由 Alan Hsieh 分享