Algorithm 连续执行的时间复杂性
我有3种算法(A1、A2和A3),它们的估计时间复杂度分别是Algorithm 连续执行的时间复杂性,algorithm,time-complexity,Algorithm,Time Complexity,我有3种算法(A1、A2和A3),它们的估计时间复杂度分别是O(n logn)、O(kn)和O(qn),其中K和Q是动作的不同参数。然后我有第四个算法连续运行这三个算法(每个算法都需要前一个算法的结果) 我不知道该如何估计这套算法的总复杂度。据我所知,O(n logn)的增长速度比O(kn)和O(qn)快,因此时间消耗中最重要的部分将是A1,这可能是足够大的n最相关的行为。但这并不能反映出即使在A1完成之后,A2和A3仍然需要很多时间 所以我想知道,我该怎么解释呢?仅仅说复杂性是O(n logn
O(n logn)
、O(kn)
和O(qn)
,其中K和Q是动作的不同参数。然后我有第四个算法连续运行这三个算法(每个算法都需要前一个算法的结果)
我不知道该如何估计这套算法的总复杂度。据我所知,O(n logn)
的增长速度比O(kn)
和O(qn)
快,因此时间消耗中最重要的部分将是A1,这可能是足够大的n
最相关的行为。但这并不能反映出即使在A1完成之后,A2和A3仍然需要很多时间
所以我想知道,我该怎么解释呢?仅仅说复杂性是
O(n logn)
就够了吗 总时间复杂度为:
O(n对数n)+O(kn)+O(qn)
如果假设K
和Q
是增长速度慢于或类似于logn
的参数,则总时间复杂度为:
O(n日志n)
因为我们使用的是大o符号。否则,总时间复杂度为初始和(或其一部分)
这样做的目的是当
n
增长时,保持将支配另一个术语的术语。参见