【发布时间】:2015-10-29 16:09:54
【问题描述】:
我得到了一个简单的伪代码算法:
for j=1 to A.length-1 //first line
for i =1 to A.length-j //second line
if A[i-1] >A[i]
swap A[i-1] and A[i]
有人告诉我第二行是这样运行的(最坏的情况:
n+(n-1)+...+2 = n(n+1)/2-1
我知道当第一行运行时,第二个循环运行 n 次,每次 j 的下一次迭代,第二个循环运行 1 次 (n-1) +(n-2) 等等。
我知道这显然是一个总结,但我不明白为什么最后添加的是2(第二行)。
任何意见将不胜感激。
【问题讨论】:
标签: algorithm sorting big-o time-complexity complexity-theory