冒泡排序复杂性分析

时间:2016-04-25 21:17:55

标签: algorithm

也许这个问题已被问过很多次,但我有一个疑问。在以下算法中:

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

我这样分析了它:

enter image description here

但我怀疑我是否做了正确的事情,因为如果我分析内循环我可以说我有:

enter image description here

我可以说c取决于外部while循环的值,因为它可能是活动的还是不活动,哪种分析更准确,我在这里概述了两者?

由于

1 个答案:

答案 0 :(得分:1)

你的两个分析都是错误的。

在你的第一个分析中,当你消除外部和时,你将总和中的表达式视为它不是总和变量。即使在定义i的总和被消除之后,你的工作也会有i,这清楚地表明你做错了。

在第二次分析中,您忘记了c后的...

相关问题