也许这个问题已被问过很多次,但我有一个疑问。在以下算法中:
BubbleSort(v[n])
i←0
exchange←V
while (exchange)
exchange←F
i←i+1
for pos=0 to n-i
if v[pos]>v[pos+1] then
swap(v[pos],v[pos+1])
exchange←V
endif
endfor
endwhile
我这样分析了它:
但我怀疑我是否做了正确的事情,因为如果我分析内循环我可以说我有:
我可以说c取决于外部while循环的值,因为它可能是活动的还是不活动,哪种分析更准确,我在这里概述了两者?
由于
答案 0 :(得分:1)
你的两个分析都是错误的。
在你的第一个分析中,当你消除外部和时,你将总和中的表达式视为它不是总和变量。即使在定义i
的总和被消除之后,你的工作也会有i
,这清楚地表明你做错了。
在第二次分析中,您忘记了c
后的...
。