数学与计算机科学中的关键概念与算法
1. 算法相关概念
算法是解决问题的一系列明确指令,具有正确性、确定性、有限性和通用性等特性。在分析算法时,会考虑其时间和空间复杂度,包括最佳情况、平均情况和最坏情况的时间复杂度。
- 时间复杂度分析 :以插入排序为例,其最坏情况时间复杂度为 $O(n^2)$,而二分查找的时间复杂度为 $O(log n)$。
- 常见算法 :
- 排序算法 :插入排序、选择排序、归并排序等。
- 搜索算法 :二分搜索、文本搜索等。
- 图算法 :Dijkstra 最短路径算法、Kruskal 最小生成树算法等。
下面是几种算法的时间复杂度对比表格:
| 算法类型 | 最佳时间复杂度 | 平均时间复杂度 | 最坏时间复杂度 |
| ---- | ---- | ---- | ---- |
| 插入排序 | $O(n)$ | $O(n^2)$ | $O(n^2)$ |
| 选择排序 | $O(n^2)$ | $O(n^2)$ | $O(n^2)$ |
| 归并排序 | $O(n log n)$ | $O(n log n)$ | $O(n log n)$ |
| 二分搜索 | $O(1)$ | $O(log n)$ | $O(log n)$ |
mermaid 格式流程图展示二分搜索算法流程: