File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change 19
19
20
20
** 时间复杂度是一个函数,它定性描述该算法的运行时间** 。
21
21
22
- 我们在软件开发中,时间复杂度就是用来方便开发者估算出程序运行的答题时间 。
22
+ 我们在软件开发中,时间复杂度就是用来方便开发者估算出程序运行的大体时间 。
23
23
24
24
那么该如何估计程序运行时间呢,通常会估算算法的操作单元数量来代表程序消耗的时间,这里默认CPU的每个单元运行消耗的时间都是相同的。
25
25
42
42
43
43
我们主要关心的还是一般情况下的数据形式。
44
44
45
- ** 面试中说道算法的时间复杂度是多少指的都是一般情况 ** 。但是如果面试官和我们深入探讨一个算法的实现以及性能的时候,就要时刻想着数据用例的不一样,时间复杂度也是不同的,这一点是一定要注意的。
45
+ ** 面试中说的算法的时间复杂度是多少指的都是一般情况 ** 。但是如果面试官和我们深入探讨一个算法的实现以及性能的时候,就要时刻想着数据用例的不一样,时间复杂度也是不同的,这一点是一定要注意的。
46
46
47
47
48
48
## 不同数据规模的差异
61
61
62
62
例如上图中20就是那个点,n只要大于20 常数项系数已经不起决定性作用了。
63
63
64
- ** 所以我们说的时间复杂度都是省略常数项系数的,是因为一般情况下都是默认数据规模足够的大,基于这样的事实,给出的算法时间复杂的的一个排行如下所示 ** :
64
+ ** 所以我们说的时间复杂度都是省略常数项系数的,是因为一般情况下都是默认数据规模足够的大,基于这样的事实,给出的算法时间复杂度的一个排行如下所示 ** :
65
65
66
66
O(1)常数阶 < O(logn)对数阶 < O(n)线性阶 < O(nlogn)线性对数阶 < O(n^2)平方阶 < O(n^3)立方阶 < O(2^n)指数阶
67
67
You can’t perform that action at this time.
0 commit comments