
位元運算 — AND、OR、XOR 六大運算子與 Bitmask 技巧 | 資料結構與演算法
位元運算(Bit Manipulation) 是直接對整數的二進位(Binary)表示進行操作的技術,以硬體層級的單一 CPU 指令實現 O(1) 的集合、邏輯與數值運算。從 A...
2026/07/07

分治法 — Divide and Conquer 三階段與 Master Theorem | 資料結構與演算法
分治法(Divide and Conquer) 是演算法設計中最優雅的範式之一:把大問題切成小問題,各自擊破,再將答案組合回來。從 Merge Sort 到 <...
2026/07/06

貪心演算法 — Greedy 策略、正確性證明與經典問題 | 資料結構與演算法
貪心演算法(Greedy Algorithm) 是一種每個決策步驟都選取當前最優選項的策略——不回溯、不猶豫,直接拿走「眼前最好的」。它的魅力在於極度簡潔與高效;它的挑戰在於,你必須嚴格證明「局...
2026/07/05

動態規劃進階 — Bitmask DP、Digit DP 與空間優化技巧 | 資料結構與演算法
在掌握了動態規劃(Dynamic Programming)的基礎框架之後,進階技巧才是真正拉開競賽與面試實力差距的地方。Bitmask DP 用二進位整數壓縮集合...
2026/07/04

動態規劃基礎 — 五步驟解題法與經典 DP 問題詳解 | 資料結構與演算法
動態規劃(Dynamic Programming,DP) 是演算法學習中最重要也最難掌握的技術之一。它透過將問題分解為重疊子問題,用表格記錄每個子問題的答案避免...
2026/07/03

滑動視窗 — 固定與可變視窗模板完整解析 | 資料結構與演算法
滑動視窗(Sliding Window) 是在線性序列上維護一個連續區間,透過右指標擴展、左指標收縮,將原本需要 O(n²) 暴力枚舉的子陣列/子字串問題降至 O(n) 的演算法技巧。它是 ...
2026/07/02

雙指標技巧 — 四種模式完整解析與面試實戰 | 資料結構與演算法
雙指標(Two Pointers) 是用兩個索引在資料結構上同時移動,以 O(n) 時間解決原本需要 O(n²) 暴力枚舉問題的演算法技巧。它的核心思想是利用資料的有序性或特定結構性質,讓每次指...
2026/07/01
遞迴與回溯法 — 從遞迴三要素到回溯模板完整教學 | 資料結構與演算法
遞迴(Recursion) 是函式呼叫自身來分解問題的程式設計技巧;回溯法(Backtracking) 則是在遞迴搜尋樹上系統性地嘗試所有可能解,當發現當前路徑...
2026/06/30

進階雜湊技術 — Consistent Hashing、Cuckoo Hashing 與 Perfect Hashing | 資料結構與演算法
進階雜湊技術(Advanced Hashing)是基礎雜湊表向特殊場景的延伸:Consistent Hashing 解決分散式節點增減時幾乎所有 key 都需要...
2026/06/29

進階樹結構 — B-Tree、B+ Tree、KD-Tree 與 Skip List | 資料結構與演算法
進階樹結構(Advanced Trees)是針對特殊場景——磁碟 I/O 密集、高並發讀寫、多維空間查詢——所設計的資料結構家族。B-Tree 和 ...
2026/06/28