演算法型別大總結(並附經典題型)

Tech In Pieces發表於2021-01-02

排序演算法:

  • 氣泡排序
  • 插入排序
  • 選擇排序
  • 希爾 Shell 排序
  • 快速排序
  • 歸併排序
  • 堆排序
  • 線性排序演算法
  • 自省排序
  • 間接排序
  • 計數排序
  • 基數排序
  • 桶排序
  • 外部排序 - k 路歸併敗者樹
  • 外部排序 - 最佳歸併樹

遞迴與分治(Divide and Conquer)

  • 二分搜尋/查詢
  • 大整數的乘法?
  • Strassen 矩陣乘法
  • 棋盤覆蓋
  • 合併排序
  • 快速排序
  • 線性時間選擇
  • 最接近點對問題
  • 迴圈賽日程表

DP:

  • 矩陣連乘問題
  • 最長公共子序列
  • 最大子段和
  • 凸多邊形最優三角剖分
  • 多邊形遊戲
  • 影像壓縮
  • 電路佈線
  • 流水作業排程
  • 0-1 揹包問題/揹包九講
  • 最優二叉搜尋樹
  • 動態規劃加速原理
  • 樹型 DP

貪心:

  • 活動安排問題
  • 最優裝載
  • 哈夫曼編碼
  • 單源最短路徑(又回到了那個經典問題:Dijkstra到底是貪心還是DP)
  • 最小生成樹
  • 多機排程問題

回溯法:

  • 裝載問題
  • 批處理作業排程
  • 符號三角形問題
  • n 後問題(就是八皇后問題)
  • 0-1 揹包問題
  • 最大團問題
  • 圖的 m 著色問題
  • 旅行售貨員問題(TLP)
  • 圓排列問題
  • 電路板排列問題
  • 連續郵資問題

搜尋演算法:

  • 列舉
  • DFS
  • BFS
  • 啟發式搜尋

隨機演算法:
演算法分類:

  • 隨機數
  • 數值隨機化演算法
  • Sherwood 舍伍德演算法
  • Las Vegas 拉斯維加斯演算法
  • Monte Carlo 蒙特卡羅演算法
    常見題型:
  • 計算 π 值
  • 計算定積分
  • 解非線性方程組
  • 線性時間選擇演算法
  • 跳躍表
  • n 後問題
  • 整數因子分解
  • 主元素問題
  • 素數測試

圖論:
演算法:

  • 遍歷 DFS / BFS
  • AOV / AOE 網路
  • Kruskal 演算法(最小生成樹)
  • Prim 演算法(最小生成樹)
  • Boruvka 演算法(最小生成樹)
  • Dijkstra 演算法(單源最短路徑)
  • Bellman-Ford 演算法(單源最短路徑)
  • SPFA 演算法(單源最短路徑)
  • Floyd 演算法(多源最短路徑)
  • Johnson 演算法(多源最短路徑)
  • Fleury 演算法(尤拉回路)
  • Ford-Fulkerson 演算法(最大網路流增廣路)
  • Edmonds-Karp 演算法(最大網路流)
  • Dinic 演算法(最大網路流)
  • 一般預流推進演算法
  • 最高標號預流推進 HLPP 演算法
  • Primal-Dual 原始對偶演算法(最小費用流)18. Kosaraju 演算法(有向圖強連通分量)
  • Tarjan 演算法(有向圖強連通分量)
  • Gabow 演算法(有向圖強連通分量)
  • 匈牙利演算法(二分圖匹配)
  • Hopcroft-Karp 演算法(二分圖匹配)
  • kuhn munkras 演算法(二分圖最佳匹配)
  • Edmonds’ Blossom-Contraction 演算法(一般圖匹配)
    題目:
  • 圖遍歷
  • 有向圖和無向圖的強弱連通性
  • 割點/割邊
  • AOV 網路和拓撲排序
  • AOE 網路和關鍵路徑
  • 最小代價生成樹/次小生成樹
  • 最短路徑問題/第 K 短路問題
  • 最大網路流問題
  • 最小費用流問題
  • 圖著色問題
  • 差分約束系統
  • 尤拉回路
  • 中國郵遞員問題
  • 漢密爾頓迴路
  • 最佳邊割集/最佳點割集/最小邊割集/最小點割集/最小路徑覆蓋/最小點集覆蓋
  • 邊覆蓋集
  • 二分圖完美匹配和最大匹配問題
  • 仙人掌圖
  • 弦圖
  • 穩定婚姻問題
  • 最大團問題

NPC問題

  • 隨機存取機 RAM
  • 隨機存取儲存程式機 RASP
  • 圖靈機
  • 非確定性圖靈機
  • P 類與 NP 類語言
  • 多項式時間驗證
  • 多項式時間變換
  • Cook定理
  • 合取正規化的可滿足性問題 CNF-SAT
  • 3 元合取正規化的可滿足性問題 3-SAT
  • 團問題 CLIQUE
  • 頂點覆蓋問題 VERTEX-COVER
  • 子集和問題 SUBSET-SUM
  • 哈密頓迴路問題 HAM-CYCLE
  • 旅行售貨員問題 TSP
  • 頂點覆蓋問題的近似演算法
  • 旅行售貨員問題近似演算法
  • 具有三角不等式性質的旅行售貨員問題
  • 一般的旅行售貨員問題
  • 集合覆蓋問題的近似演算法
  • 子集和問題的近似演算法
  • 子集和問題的指數時間演算法
  • 子集和問題的多項式時間近似格式

相關文章