Time complexity 函数的复杂度类,其执行时间和输入大小之间具有已知的依赖关系

Time complexity 函数的复杂度类,其执行时间和输入大小之间具有已知的依赖关系,time-complexity,complexity-theory,Time Complexity,Complexity Theory,假设我试图找到一个函数的复杂性类。每次计算函数时,我的数据集都会翻倍,每次发生这种情况时,执行函数所需的时间都会增加(X)倍 如果我们知道(X),我们如何找到函数的复杂性类/O表示法?例如,如果X略大于2,则大O表示法为O(N logn)。假设T(N)是您所讨论的函数的时间复杂度,其中N是输入数据的大小。我们可以为T(n)编写递归方程: 其中,X是常数。让我们“展开”这个递归: T(n) = X * T(n/2) = X^2 * T(n/4) = X^3 * T(n/8) = ... = X^k

假设我试图找到一个函数的复杂性类。每次计算函数时,我的数据集都会翻倍,每次发生这种情况时,执行函数所需的时间都会增加(X)倍

如果我们知道(X),我们如何找到函数的复杂性类/O表示法?例如,如果X略大于2,则大O表示法为O(N logn)。

假设
T(N)
是您所讨论的函数的时间复杂度,其中
N
是输入数据的大小。我们可以为
T(n)
编写递归方程:

其中,
X
是常数。让我们“展开”这个递归:

T(n) = X * T(n/2) = X^2 * T(n/4) = X^3 * T(n/8) = ... = X^k * T(n/2^k)
当参数
k
变大到足以满足以下条件时,展开过程应结束:

n/2^k = 1
这意味着
n=2^k
k=log(n)
(对数以2为底)。我们还可以假设:

T(1) = C
其中,
C
是另一个常数。现在我们来看展开的方程,用
log(n)
替换
k
,用
C
替换
T(1)

T(n) = X^log(n) * C
我们可以使用对数特性简化此公式:

T(n) = C * n^log(X)
假设
T(n)
是您正在讨论的函数的时间复杂度,其中
n
是输入数据的大小。我们可以为
T(n)
编写递归方程:

其中,
X
是常数。让我们“展开”这个递归:

T(n) = X * T(n/2) = X^2 * T(n/4) = X^3 * T(n/8) = ... = X^k * T(n/2^k)
当参数
k
变大到足以满足以下条件时,展开过程应结束:

n/2^k = 1
这意味着
n=2^k
k=log(n)
(对数以2为底)。我们还可以假设:

T(1) = C
其中,
C
是另一个常数。现在我们来看展开的方程,用
log(n)
替换
k
,用
C
替换
T(1)

T(n) = X^log(n) * C
我们可以使用对数特性简化此公式:

T(n) = C * n^log(X)

不够清楚。请阅读并尝试生成一个。不够清晰。请阅读并试着制作一份报告。