一些 NOIP 常用算法、数据结构的时间复杂度总结
文章目录
参考资料:算法进阶指南第2版,https://github.com/tianyicui/pack/V2.pdf(DP 背包问题部分)
图论算法
设 n = ∣ V ∣ , m = ∣ E ∣ . n=|V|,m=|E|. n=∣V∣,m=∣E∣.
搜索
用邻接表存图:
算法 | 时间复杂度 |
---|---|
DFS、BFS | O ( m n ) O(mn) O(mn) |
用邻接矩阵存图:
算法 | 时间复杂度 |
---|---|
DFS、BFS | O ( n 2 ) O(n^2) O(n2) |
最短路
单源最短路径
要求所有边的长度为非负数
算法 | 时间复杂度 |
---|---|
Dijkstra 算法 | O ( n 2 ) O(n^2) O(n2) |
堆优化的 Dijkstra 算法 | O ( ( m + n ) lg n ) O((m+n)\lg{n}) O((m+n)lgn) |