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 算法