【发布时间】:2021-09-19 05:11:37
【问题描述】:
我已经阅读了很多关于数据结构和算法的文章,每个人都只说计算时间复杂度的最通用方法,通常定义为考虑输入变化和迭代数组的执行所花费的时间n个元素让代码如下,Big-O复杂度为O(n)。
for (int i=0;i<a.length;i++)
System.out.println(a[i]);
同意这是计算时间复杂度的方法,但是递归算法呢?在计算时间复杂度时如何得出对数表达式和其他东西的结论。到目前为止,我没有遇到或知道用于推导这些复杂性的标准。如果是的话,有人可以给我一些启发或告诉我从哪里开始。
提前致谢。请不要标记为重复,因为可能有很多人在厌倦了网络上的不同教程后面临着同样的理解和时间复杂性问题。
【问题讨论】:
-
答案是没有简单的答案。这就是为什么你找不到答案。
-
@user3386109- 谢谢,你能详细说明一下吗?
-
这只是实践和经验的问题。如果您阅读了所有标有
time-complexity的 8533 个问题,那么当您完成时,您会像任何人一样理解它。没有快速简单的答案。这是一个看到某些模式出现在许多不同问题中的问题。例如,1+2+3+...+n是 O(n^2) 的事实是您经常看到的模式。
标签: algorithm data-structures time-complexity bubble-sort logarithm