Skip to content

算法种类 ​

关键词

算法的五个重要特征:有穷性、确定性、可行性、输入、输出。

排序算法 ​

  1. 冒泡排序(Bubble Sort)
  2. 选择排序(Selection Sort)
  3. 插入排序(Insertion Sort)
  4. 希尔排序(Shell Sort)
  5. 归并排序(Merge Sort)
  6. 快速排序(Quick Sort)
  7. 堆排序(Heap Sort)
  8. 计数排序(Counting Sort)
  9. 桶排序(Bucket Sort)
  10. 基数排序(Radix Sort)

搜索算法 ​

  1. 线性搜索(Sequential Search)
  2. 二分搜索(Binary Search)
  3. 广度优先搜索(Breadth-First Search,BFS)
  4. 深度优先搜索(Depth-First Search,DFS)
  5. A*搜索算法(A-star)

图算法 ​

  1. 最短路径算法(Dijkstra、Bellman-Ford、Floyd-Warshall)
  2. 最小生成树算法(Prim、Kruskal)
  3. 拓扑排序(Topological Sort)
  4. 强连通分量(Strongly Connected Components,SCC)

动态规划 ​

  1. 背包问题(0/1 背包、完全背包)
  2. 最长公共子序列(Longest Common Subsequence)
  3. 最短编辑距离(Edit Distance)
  4. 最长递增子序列(Longest Increasing Subsequence)

贪心算法 ​

  1. 霍夫曼编码(Huffman Coding)
  2. 最小生成树算法中的 Prim 和 Kruskal 算法

分治算法 ​

  1. 归并排序(Merge Sort)
  2. 快速排序(Quick Sort)
  3. 汉诺塔问题

字符串匹配算法 ​

  1. 暴力匹配
  2. KMP 算法(Knuth-Morris-Pratt)
  3. Boyer-Moore 算法

数值计算 ​

  1. 牛顿法(Newton's Method)
  2. 龙贝格积分法(Romberg Integration)
  3. 高斯消元法(Gaussian Elimination)
  4. 迭代法解线性方程组

机器学习和数据挖掘 ​

  1. K 均值聚类算法(K-Means Clustering)
  2. 支持向量机(Support Vector Machine,SVM)
  3. 决策树(Decision Tree)
  4. 随机森林(Random Forest)
  5. Apriori 算法

加密和哈希算法 ​

  1. RSA 加密算法
  2. MD5 哈希算法
  3. SHA 算法系列

图像处理和计算机视觉 ​

  1. Canny 边缘检测算法
  2. 霍夫变换(Hough Transform)
  3. SIFT(尺度不变特征变换)

自然语言处理 ​

  1. 朴素贝叶斯分类器
  2. TF-IDF(Term Frequency-Inverse Document Frequency)
  3. Word2Vec

神经网络和深度学习 ​

  1. 感知机(Perceptron)
  2. 反向传播算法(Backpropagation)
  3. 卷积神经网络(Convolutional Neural Network,CNN)
  4. 循环神经网络(Recurrent Neural Network,RNN)

数据压缩 ​

  1. 哈夫曼编码(Huffman Coding)
  2. LZ77 和 LZ78 压缩算法

数据结构和算法设计 ​

  1. 平衡树(AVL Tree、Red-Black Tree)
  2. 字典树(Trie)
  3. 并查集(Union-Find)
  4. 滑动窗口算法(Sliding Window)

数据库和存储 ​

  1. B 树(B-tree)
  2. LSM 树(Log-Structured Merge Tree)

优化算法 ​

  1. 模拟退火算法(Simulated Annealing)
  2. 遗传算法(Genetic Algorithm)

数学和统计学 ​

  1. 快速傅里叶变换(Fast Fourier Transform,FFT)
  2. 马尔可夫链蒙特卡洛(Markov Chain Monte Carlo,MCMC)

加密和安全性 ​

  1. Diffie-Hellman 密钥交换
  2. AES 加密算法
  3. RSA 数字签名算法

数据流处理 ​

  1. 流式计算
  2. 基数估计算法

音频处理 ​

  1. FFT(快速傅里叶变换)
  2. 音频压缩算法(如 MP3)

计算几何 ​

  1. 凸包算法(Convex Hull)
  2. 最近点对算法(Closest Pair)

复杂性理论 ​

  1. P vs NP 问题
  2. NP 完全问题

量子计算 ​

  1. Shor 算法
  2. Grover 算法

实时系统 ​

  1. Earliest Deadline First 调度算法(EDF)

并发算法 ​

  1. 同步原语
  2. 互斥算法

图数据库算法 ​

  1. 图数据库查询算法

游戏算法 ​

  1. A*路径规划
  2. Minimax 算法(博弈树)

网络和分布式系统 ​

  1. 一致性哈希算法
  2. Paxos 算法
  3. Raft 算法