演算法互動視覺化

每個主題都有 step-by-step 動畫,可以手動控制進度。共 64 個互動頁。

資料結構 15 項
Graph 圖 節點與邊、BFS/DFS O(V + E) 遍歷 線性結構 陣列/堆疊/佇列/雙端 NEW 動態陣列擴容搬遷 vs LIFO vs 環形 FIFO vs 雙端操作 O(1) 均攤 鏈結串列與 LRU Cache NEW 單向鏈結插入/刪除/反轉 vs HashMap+雙向鏈 O(1) 淘汰 O(1)~O(n) 雜湊 Hash Table/Bloom Filter NEW 鏈結法碰撞處理 vs k 雜湊位元陣列(含偽陽性示範) O(1) 平均 二元搜尋樹 BST/AVL NEW BST 插入比較路徑+搜尋 vs AVL 四旋轉自平衡(h/bf 標籤) O(log n)~O(n) 堆積與字典樹 Heap/Trie NEW Min-Heap 上浮下沉(樹+陣列雙視圖) vs Trie 共享前綴查詢 O(log n) / O(m) 區間查詢 線段樹/BIT/稀疏表 NEW 線段樹遞迴分治 vs Fenwick lowbit 跳躍 vs 稀疏表 O(1) 雙窗 O(log n) / O(1) 併查集/單調佇列/跳躍表 NEW Union-Find 路徑壓縮 vs 滑動視窗最大 vs Skip List 多層跳躍 α(n) / O(1) / O(log n) 樹堆與伸展樹 Treap/Splay NEW Treap 隨機優先級雙性質(固定種子示範) vs Splay 伸展到根 O(log n) 期望/均攤 紅黑樹與 B 樹 RB/B-Tree NEW 紅黑修復(重染色/旋轉) vs B 樹節點分裂(t=2 即 2-3-4 樹) O(log n) 保證 空間結構 KD樹/區間樹 NEW KD 交替維度切分+矩形查詢剪枝 vs 區間樹 maxEnd 重疊查詢 O(log n) 平均 後綴陣列與持久化線段樹 NEW 後綴排序+LCP+二分搜尋 vs 路徑複製多版本共享節點 O(n log n) / O(log n) 費氏堆與 Link-Cut 樹 NEW 懶惰合併+級聯剪切攤銷 vs 動態樹 link/cut 連通查詢 攤銷 O(log n) Merkle Tree 雜湊樹 NEW 葉子雜湊逐層合併成 root + Merkle proof(O(log n) 兄弟驗證) + 改一葉 root 全變的防篡改 O(n) 建樹 / O(log n) proof CRDT 無衝突複製資料型別 NEW G-Counter 逐分量 max vs OR-Set 觀察後移除,不同 merge 順序皆收斂到最終一致 O(k) merge
演算法 30 項
快速傅立葉變換 FFT 多項式乘法、頻域轉換 O(n log n) 排序演算法對比 NEW 11 種排序並排同步播放 對比 搜尋演算法對比 NEW Linear/Binary/Jump/Interpolation 並排 對比 最短路徑對比 NEW Dijkstra vs Bellman-Ford(含負權示範) 對比 Floyd-Warshall 全點對最短路 NEW 動態規劃填距離矩陣 O(V³) A* 尋路 NEW 啟發式格點最短路(g+h) 啟發式 字串匹配對比 NEW 暴力/KMP/Rabin-Karp/Z-function 並排 對比 樹遍歷對比 NEW 前序/中序/後序/層序並排 對比 凸包演算法對比 NEW Monotone Chain vs Gift Wrapping 並排 對比 FFT 快速傅立葉 NEW 迭代 FFT 階段值表(位元反轉+蝶形) O(n log n) 動態規劃基礎 NEW 費波那契/LCS/硬幣找零 DP 表逐步填充+回溯 O(m·n) 進階動態規劃 NEW Edit Distance/矩陣鏈/TSP bitmask/樹上獨立集 綜合 前綴和與差分 NEW 前綴和建表/區間查詢 + 差分區間加值/還原 O(n)+O(1) 滑動視窗 NEW 固定視窗最大和 + 可變視窗最短子陣列 O(n) 雙指標 NEW 對撞指標(兩數之和/回文)+ 快慢指標(移除元素) O(n) 單調棧 NEW 下一個更大元素/最大矩形/每日溫度(棧內容同步呈現) O(n) 圖遍歷 BFS/DFS NEW 廣度優先(佇列)vs 深度優先(棧)逐步遍歷 O(V+E) LCA 最近共同祖先對照 NEW Binary Lifting(線上稀疏表) vs Tarjan(離線 DFS+並查集) O(log n) / O(n+q) 樹分解對照 重心分解/樹鏈剖分 NEW Centroid Decomposition(大小減半分治) vs HLD(重鏈剖分) O(n log n) / O(n) Aho-Corasick 多模式匹配 NEW trie + fail 失敗鏈結(KMP 推廣),一次掃描找所有模式 O(n+m+z) 掃描線 線段相交 NEW 事件排序 + 活動集合,垂直掃描線偵測線段相交 O(n² log n) 進階圖論 Prim MST/Tarjan SCC NEW 最小生成樹(優先佇列貪心) vs 強連通分量(dfn/low+棧) MST / SCC 網路流 Edmonds-Karp 最大流 NEW BFS 最短增廣路+殘餘圖反向邊,邊上即時 flow/cap O(V·E²) 圖論雜項 歐拉路徑/2-SAT NEW Hierholzer 一筆畫(棧+刪邊) vs 2-SAT(蘊含圖+SCC 賦值) O(E) / O(n+m) 遞迴家族 河內塔/分治/回溯 NEW 河內塔遞迴 vs 最大子陣列分治 vs N皇后回溯剪枝 O(2^n)/O(n log n)/剪枝 貪心 活動選擇/分數背包 NEW 依結束時間選不重疊活動 vs 依 CP 值取物(含分數) O(n log n) 數學與位元 質數篩/GCD/數1位元 NEW 埃氏篩劃掉合數 vs 輾轉相除 vs n&(n-1) 清位 O(n log log n) 等 雜項 Nim/折半列舉/QuickSelect/Mo's NEW XOR 必勝 vs 折半子集和 vs 隨機選擇 vs 離線區間查詢 綜合 PageRank 網頁排名 NEW 隨機衝浪者穩態:冪迭代逐輪收斂,阻尼 d=0.85+懸掛質量均攤 O(k·(V+E)) LZ77 滑動視窗壓縮 NEW 滑動視窗壓縮(gzip/zlib/PNG 的 DEFLATE 第一階段):搜尋緩衝找最長匹配、輸出 (offset,length,nextChar) 三元組,邊壓邊解示範往返 O(n·w)
AI 時代 19 項
相似度雜湊 MinHash/LSH/SimHash NEW 簽名估計 Jaccard+banding 候選對 vs 加權位元投票漢明距離 O(nk) 建構 串流概要 Count-Min/HyperLogLog NEW 計數矩陣取 min 高估頻次 vs 前導零暫存器估基數 O(d) 每事件 取樣演算法 Reservoir/Alias NEW 蓄水池串流取樣+加權 A-Res vs 別名表 O(1) 抽樣,頻率對照理論 O(n) / O(1) 每抽 序列解碼 Viterbi/Beam Search NEW HMM DP 表回溯最佳路徑 vs beam 剪枝與全域最優對照 O(T·S²) / O(T·B·V) 文本演算法 Myers Diff/BPE NEW 編輯圖 snake 對角線最短編輯腳本 vs 子詞合併分詞 O((N+M)D) / O(V·merges) 近似最近鄰 HNSW NEW 多層圖貪婪下降+ef 搜尋,結果與暴力真值對照 O(log n) 查詢(近似) 向量壓縮 PQ/IVF NEW 子空間量化碼本+ADC 誤差對照 vs 倒排分群 nprobe 掃描 O(k·d) 查詢 混合檢索 BM25/RRF NEW 逐詞打分長度正規化排名 vs 倒數排名融合雙路檢索 O(q·N) / O(R) 蒙地卡羅樹搜尋 MCTS/UCB NEW 四相迭代賽局樹成長,root 統計對照 minimax 精確解 O(N·深度) 每迭代 反向模式自動微分 AutoDiff NEW 計算圖前向求值+逆拓撲序 adjoint 累加,三方梯度互證 O(節點數) 分散式快取 Consistent Hashing/KV Cache NEW 雜湊環虛擬節點搬移對照 vs 前綴快取命中與 LRU 逐出 O(log V) 查詢 推測解碼 Speculative Decoding NEW 小模型草擬大模型驗證回滾,輸出等價保證與呼叫數對照 O(T/k) 驗證呼叫 LLM 取樣 Temperature/Top-k/Top-p NEW Temperature 重塑分佈 + top-k/top-p 截斷正規化,抽樣落點與多種子頻率對照理論 O(V log V) 每步 Heavy Hitters Misra-Gries/Space-Saving NEW k 個計數器單次掃描找串流 top-k 高頻項:MG 連坐減低估 vs SS 繼承加高估,對照暴力精確真值 O(k) 每項 受限解碼 Grammar/DFA-constrained NEW LLM 結構化輸出合法性保證:DFA 每步遮罩非法 token、只在合法 token 重新正規化再選字,遮罩前後分佈與合法性對照 O(T·V) MMR 最大邊際相關 NEW RAG 檢索後去冗餘重排:在相關度與多樣性間平衡,示範不同 λ 選出不同順序 O(n·k²) 差分隱私 Randomized Response NEW 隨機化回答:每人擲硬幣照實/隨機答換可否認性,彙總去偏還原母體比例,單次雜訊 vs 多種子收斂對照 O(n) 收集 / O(1) 去偏 Scaled Dot-Product Attention 注意力 NEW Q·Kᵀ/√d → 逐列 softmax 權重熱圖 → 加權求和·V;獨立真值驗每列和=1、同幀對照不縮放 √d 使 softmax 過尖 O(n²·d) 分群 k-means / Lloyd 迭代 NEW 指派→更新兩步交替 質心遷移+inertia 單調不增 vs 暴力最近鄰真值(PQ 碼本底層) O(n·k·i)