演算法型別大總結(並附經典題型)
排序演算法:
- 氣泡排序
- 插入排序
- 選擇排序
- 希爾 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
- 頂點覆蓋問題的近似演算法
- 旅行售貨員問題近似演算法
- 具有三角不等式性質的旅行售貨員問題
- 一般的旅行售貨員問題
- 集合覆蓋問題的近似演算法
- 子集和問題的近似演算法
- 子集和問題的指數時間演算法
- 子集和問題的多項式時間近似格式
相關文章
- 人臉識別三大經典演算法(附經典論文列表)演算法
- PHP弱型別安全問題總結PHP型別
- JavaScript基本型別總結JavaScript型別
- JAVA中常見的經典報錯型別Java型別
- Java十大經典排序演算法最強總結Java排序演算法
- 揹包題型總結
- OOM異常型別總結OOM型別
- [python] Python型別提示總結Python型別
- JS 資料型別總結JS資料型別
- 經典機器學習演算法總結機器學習演算法
- 文章經典總結
- 經典 backbone 總結
- Python的資料型別總結Python資料型別
- 後臺面試型別總結面試型別
- Go 的資料型別總結Go資料型別
- 2萬字70道Java經典面試題總結(附答案)Java面試題
- 2萬字60道MySQL經典面試題總結(附答案)MySql面試題
- 【演算法與資料結構】經典排序演算法總結演算法資料結構排序
- 11.經典O(n²)比較型排序演算法排序演算法
- 49個Spring經典面試題總結,附帶答案,趕緊收藏Spring面試題
- JavaScript變數型別檢測總結JavaScript變數型別
- Mysql支援的資料型別(總結)MySql資料型別
- Python str型別學習總結(一)Python型別
- Flume 總結(三)sources型別-1.9.0新版型別
- go 基礎總結 --- 資料型別Go資料型別
- JavaScript資料型別轉換總結JavaScript資料型別
- 可變資料型別(mutable)與不可變資料型別(immutable)總結資料型別
- 泛型總結泛型
- [LeetCode] 動態規劃題型總結LeetCode動態規劃
- leetcode 常見題型程式碼總結LeetCode
- JS基礎總結(1)——資料型別JS資料型別
- Redis中 HyperLogLog資料型別使用總結Redis資料型別
- 十大經典排序演算法最強總結(含JAVA程式碼實現)排序演算法Java
- 資料庫儲存選型經驗總結資料庫
- Java泛型型別擦除問題Java泛型型別
- Python3學習(基本資料型別-集合-字典-基本資料型別總結)Python資料型別
- 多型的總結多型
- golang 中的四種型別轉換總結Golang型別