- 排序算法:
• 冒泡排序(Bubble Sort)
• 选择排序(Selection Sort)
• 插入排序(Insertion Sort)
• 快速排序(QuickSort)
• 归并排序(Merge Sort)
• 堆排序(Heap Sort)
• 计数排序(Counting Sort)、桶排序(Bucket Sort)等
- . 查找算法:
• 线性搜索(Linear Search)
• 二分查找(Binary Search)
• 顺序查找(Sequential Search)
• 哈希表查找(Hash Table Lookup)
• 字典树(Trie)查找
- 搜索算法:
• 深度优先搜索(Depth-First Search, DFS)
• 广度优先搜索(Breadth-First Search, BFS)
• Dijkstra算法(用于寻找单源最短路径)
• A*搜索算法(启发式搜索)
4. 图算法:
• 最小生成树算法(Prim算法、Kruskal算法)
• 最短路径算法(Dijkstra算法、Floyd-Warshall算法、Bellman-Ford算法)
• 拓扑排序(Topological Sorting)
• 强连通分量(Strongly Connected Components)
5. 分治算法:
• 分治法应用于许多问题,如归并排序、快速排序、大整数乘法、Strassen矩阵乘法等
6. 动态规划:
• 背包问题(Knapsack Problem)
• 最长公共子序列(Longest Common Subsequence, LCS)
• 最长递增子序列(Longest Increasing Subsequence, LIS)
• 最短路径问题(有时也用动态规划解决)
7. 贪心算法:
• 贪心选择性质在霍夫曼编码(Huffman Coding)、Prim算法生成最小生成树的部分有应用
8. 枚举算法:
• 在有限集合中穷举所有可能情况来解决问题,如密码破解、排列组合计数等问题
9. 迭代算法:
• 数值计算中的牛顿法、梯度下降法等用于求解方程或优化问题
10. 回溯算法:
• 解决约束满足问题,如八皇后问题、迷宫求解等