|
|
1
2
你的算法仍然是O(2 n ),即使它每次减少一项问题的大小。你的差分方程
通过使用保存代数 WolframAlpha to solve this 给出解决方案T( n ) = ( c 1. + 4) 2 n -1 - n -2仍然为O(2 n ). 它删除了 一 项,考虑到其他因素(尤其是递归),这不是一个可观的数量。 我想到的一个类似的例子是 n * n 2D矩阵。假设您只将其用于三角矩阵。即使为每一列删除一行进行处理,迭代每个元素仍然具有复杂性O( n 2. ),这与使用所有元素(即正方形矩阵)的情况相同。 为了进一步证明,我提供了您自己收集的运行时间数据的图表:
|
|
|
2
2
时间大概是二次的。如果
将在O(1)中完成,因为它们是用空列表运行的。这意味着,正确的公式实际上是
这意味着,T(n)=O(n^2),这与我们在图中看到的很好地对应。 |
|
|
MMedina · 将powershell应用于子文件夹 1 年前 |
|
|
YorSubs · Linux中遍历目录的时间不同方法[关闭] 1 年前 |
|
Romn · 在递归函数中键入元组或元组列表 2 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 2 年前 |
|
|
Ack · 尝试迭代JSON数据以匹配用户输入 2 年前 |