鉴于以下伪代码,我应该找出最内层循环中的语句执行次数,作为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
我在概念化如何解决这些问题时遇到了麻烦。任何帮助将不胜感激:)
答案 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的书算法简介或算法解锁(如果您是初学者)。您将习惯于分析程序。