Update 关于时间复杂度,你不知道的都在这里!.md

This commit is contained in:
ShimenTian
2024-04-02 22:35:58 +08:00
committed by GitHub
parent 3dd5b33cec
commit 0422b137a2

View File

@ -19,7 +19,7 @@
**时间复杂度是一个函数,它定性描述该算法的运行时间**
我们在软件开发中,时间复杂度就是用来方便开发者估算出程序运行的答题时间。
我们在软件开发中,时间复杂度就是用来方便开发者估算出程序运行的大体时间。
那么该如何估计程序运行时间呢通常会估算算法的操作单元数量来代表程序消耗的时间这里默认CPU的每个单元运行消耗的时间都是相同的。
@ -42,7 +42,7 @@
我们主要关心的还是一般情况下的数据形式。
**面试中说算法的时间复杂度是多少指的都是一般情况**。但是如果面试官和我们深入探讨一个算法的实现以及性能的时候,就要时刻想着数据用例的不一样,时间复杂度也是不同的,这一点是一定要注意的。
**面试中说算法的时间复杂度是多少指的都是一般情况**。但是如果面试官和我们深入探讨一个算法的实现以及性能的时候,就要时刻想着数据用例的不一样,时间复杂度也是不同的,这一点是一定要注意的。
## 不同数据规模的差异
@ -61,7 +61,7 @@
例如上图中20就是那个点n只要大于20 常数项系数已经不起决定性作用了。
**所以我们说的时间复杂度都是省略常数项系数的,是因为一般情况下都是默认数据规模足够的大,基于这样的事实,给出的算法时间复杂的一个排行如下所示**
**所以我们说的时间复杂度都是省略常数项系数的,是因为一般情况下都是默认数据规模足够的大,基于这样的事实,给出的算法时间复杂的一个排行如下所示**
O(1)常数阶 < O(logn)对数阶 < O(n)线性阶 < O(nlogn)线性对数阶 < O(n^2)平方阶 < O(n^3)立方阶 < O(2^n)指数阶