Javascript

最短路徑演算法 — Dijkstra、Bellman-Ford、Floyd-Warshall 完整比較 | 資料結構與演算法
最短路徑演算法(Shortest Path Algorithm) 是圖論中最核心的問題之一。從 GPS 導航選擇最快路線,到網路封包選擇最短跳數路由,背後都是這一類演算法在運作。本文系統介紹三大...
2026/07/10

BFS 與 DFS — 廣度優先與深度優先搜尋完整教學 | 資料結構與演算法
BFS(廣度優先搜尋) 與 DFS(深度優先搜尋) 是圖論中最核心的兩種遍歷策略。BFS 如同水波向外擴散,逐層推進,天然找到...
2026/07/09

圖的表示法 — 鄰接矩陣、鄰接串列與邊串列完整解析 | 資料結構與演算法
圖(Graph) 是由 頂點(Vertex) 與 邊(Edge) 組成的資料結構,能描述現實世界中幾乎所有的關聯關係:社交網路...
2026/07/08

位元運算 — 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