Time complexity 该算法运行时间长

Time complexity 该算法运行时间长,time-complexity,big-o,Time Complexity,Big O,我发现很难分析算法的时间复杂度。以该算法为例,如何用O表示法计算运行时间 loop(n) i = 1 while i ≤ n j = 1 while j ≤ i j = 2 ∗ j i = i + 1 从你的帖子中我了解到,你知道O符号的含义,但在应用上有一些问题。在这个简单的示例中,确定循环执行的次数(取决于输入大小)就足够了。要获得最终值,必须将其合并 第一步:分析每个循环的执行次数。(非循环或递归语句具有O(1)。) w

我发现很难分析算法的时间复杂度。以该算法为例,如何用O表示法计算运行时间

loop(n)  
i = 1  
while i ≤ n  
    j = 1  
    while j ≤ i  
        j = 2 ∗ j  
    i = i + 1  

从你的帖子中我了解到,你知道O符号的含义,但在应用上有一些问题。在这个简单的示例中,确定循环执行的次数(取决于输入大小)就足够了。要获得最终值,必须将其合并

第一步:分析每个循环的执行次数。(非循环或递归语句具有O(1)。)


while(i当给出这样的代码时,从内到外工作通常会有所帮助。您的内部循环如下所示:

j = 1
While j <= i 
    j = 2 * j
j=1

虽然你对内环的分析在技术上是正确的,但它不是一个严格的界限,因此你的总体答案也不是严格的界限。实际上,这个例子来自一个旧的考试,其中假定正确的答案是O(n*log(n))
j = 1
While j <= i 
    j = 2 * j