常用算法和数据结构的复杂度速查表,
搜索
| 算法 | 数据结构 | 时间复杂度 | 空间复杂度 | |||
|---|---|---|---|---|---|---|
| 平均 | 最差 | 最差 | ||||
| 深度优先搜索 (DFS) | Graph of |V| vertices and |E| edges | - |
O(|E| + |V|) |
O(|V|) |
||
| 广度优先搜索 (BFS) | Graph of |V| vertices and |E| edges | - |
O(|E| + |V|) |
O(|V|) |
||
| 二分查找 | Sorted array of n elements | O(log(n)) |
O(log(n)) |
O(1) |
||
| 穷举查找 | Array | O(n) |
O(n) |
O(1) |
||
| 最短路径-Dijkstra,用小根堆作为优先队列 | Graph with |V| vertices and |E| edges | O((|V| + |E|) log |V|) |
O((|V| + |E|) log |V|) |
O(|V|) |
||
| 最短路径-Dijkstra,用无序数组作为优先队列 | Graph with |V| vertices and |E| edges | O(|V|^2) |
O(|V|^2) |
O(|V|) |
||
| 最短路径-Bellman-Ford | Graph with |V| vertices and |E| edges | O(|V||E|) |
O(|V||E|) |
O(|V|) |
||
排序
| 算法 | 数据结构 | 时间复杂度 | 最坏情况下的辅助空间复杂度 | ||||
|---|---|---|---|---|---|---|---|
| 最佳 | 平均 | 最差 | 最差 | ||||
| 快速排序 | 数组 | O(n log(n)) |
O(n log(n)) |
O(n^2) |
O(n) |
||
| 归并排序 | 数组 | O(n log(n)) |
O(n log(n)) |
O(n log(n)) |
O(n) |
||
| 堆排序 | 数组 | O(n log(n)) |
O(n log(n)) |
O(n log(n)) |
O(1) |
||
| 冒泡排序 | 数组 | ||||||

这篇博客提供了常用算法和数据结构的时间复杂度速查表,包括搜索、排序、数据结构、堆和图的相关操作。

2438

被折叠的 条评论
为什么被折叠?



