mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
Update 关于时间复杂度,你不知道的都在这里!.md
This commit is contained in:
@ -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)指数阶
|
||||
|
||||
|
Reference in New Issue
Block a user