diff --git a/note/时间复杂度.md b/note/time_complexity.md similarity index 83% rename from note/时间复杂度.md rename to note/time_complexity.md index 4dd545e1..acf62fc2 100644 --- a/note/时间复杂度.md +++ b/note/time_complexity.md @@ -3,12 +3,27 @@ ## 一. 时间复杂度数据规模 -1s 内能解决问题的数据规模: +1s 内能解决问题的数据规模:10^6 ~ 10^7 - O(n^2) 算法可以处理 10^4 级别的数据规模(保守估计,处理 1000 级别的问题肯定没问题) - O(n) 算法可以处理 10^8 级别的数据规模(保守估计,处理 10^7 级别的问题肯定没问题) - O(nlog n) 算法可以处理 10^7 级别的数据规模(保守估计,处理 10^6 级别的问题肯定没问题) +| | 数据规模|时间复杂度 | 算法举例| +|:------:|:------:|:------:|:------:| +|1|10|O(n!)|permutation 排列| +|2|20~30|O(2^n)|combination 组合| +|3|50|O(n^4)|DFS 搜索、DP 动态规划| +|4|100|O(n^3)|任意两点最短路径、DP 动态规划| +|5|1000|O(n^2)|稠密图、DP 动态规划| +|6|10^6|O(nlog n)|排序,堆,递归与分治| +|7|10^7|O(n)|DP 动态规划、图遍历、拓扑排序、树遍历| +|8|10^9|O(sqrt(n))|筛素数、求平方根| +|9|10^10|O(log n)|二分搜索| +|10|+∞|O(1)|数学相关算法| +|----------------|----------------|------------------------------------------------------------------|--------------------------------| + + 一些具有迷惑性的例子: ```c