伪代码算法:查找迭代次数+最佳/最差情况

时间:2015-10-11 08:15:48

标签: algorithm pseudocode

鉴于以下伪代码,我应该找出最内层循环中的语句执行次数,作为n的函数,以及该算法的操作顺序的最佳和最差情况是什么。

brew install python3
pip3 install matplotlib
curl -OLJ https://raw.githubusercontent.com/zeroepoch/plotbitrate/master/plotbitrate.py
chmod +x plotbitrate.py
./plotbitrate.py -f svg -o out.svg input.mkv

我在概念化如何解决这些问题时遇到了麻烦。任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

Algorithm What(A,n)
  A <-- new 2D array of n*n integers
  s <-- 0
  for I <-- 2 to n-2 do        
     for j <-- I-2 to n-1 do   ---> this executes (n-1)-(I-2)+1 times=n-I+2 times
        s <--s + A[I][j]
     end for
   end for

分析

因此T(n)= I的总和(n-I + 2)= 0 + 1 + 2 + ... + n次[对于I = n-2降至2]                              = n(n + 1)/ 2

T(n)= O(n ^ 2)

参考:研究Cormen的书算法简介算法解锁(如果您是初学者)。您将习惯于分析程序。