| 数据范围 | 时间复杂度 | 算法 |
| 20 | O(2^n) | 搜索 状态压缩 |
| 50 | O(n^4) | |
| 200 | O(n^3) | Floyd 最短路 最大流 |
| 2000 | O(n^2) | |
| 20000 | O(nlogn) | 栈 ST 表 线段树 树状数组 二叉搜索书 归并,快速排序 最短路 最小生成树 凸包 |
| 50000 | O(n) | 差分 前缀和 双指针 (滑动窗口) 桶排序 单调栈 单调队列 bfs/dfs 拓扑排序 欧拉路 Tarjan 求连通分量 KMP 字典树 |
| O(logn) | 二分 并查集 快速幂 最大公因数 | |
| O(1) | 哈希 | |
| O(nm) | 背包问题 匈牙利匹配 | |
| O(n^(2/3)) | 分块 | |
tips:
O(logn)的算法通常与 O(n)的算法组合在一起用于实现 O(nlogn)要求的题目
链接:
https://leetcode-cn.com/leetbook/read/2021-spring-recruitment/9r50j1/
本文总结了从简单搜索到复杂问题解决的算法时间复杂度,涵盖了状态压缩、Floyd算法、最短路径、最大流等经典问题。介绍了各类数据结构如栈、线段树、哈希等在不同场景下的应用,以及它们的时间复杂度。适合技术求职者和算法学习者参考。
1297

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



