1.排序算法:
快速排序:
通过分治法将数据分为较小的数据集,然后递归地排序这些数据集。
归并排序:
通过合并两个或多个已排序的序列,得到一个新的有序序列。
堆排序:利用堆这种数据结构所设计的一种排序算法。
2.搜索算法:
深度优先搜索(DFS):沿着树的深度遍历树或图的节点。
广度优先搜索(BFS):从根节点开始,逐层向下探索。
3. 图算法:
Dijkstra算法:用于找到图中节点之间的最短路径。
Floyd-Warshall算法:计算图中所有顶点对之间的最短路径。
4.优化算法:
梯度下降:用于最小化损失函数,常用于机器学习中的参数优化。
动态规划:通过将问题分解为更小的子问题来解决复杂问题。
5.数学算法:
欧几里得算法:用于计算两个数的最大公约数。
快速傅里叶变换(FFT):用于高效计算离散傅里叶变换。
6.其他常见算法:
二分查找:在有序数组中查找特定元素。
A*搜索算法:结合了最佳优先搜索和迪杰斯特拉算法的优点,用于寻找最短路径。