所以我在高中学习排序算法,最近我们分析了Bubble Sort。
[我的老师展示了寻找比较数的公式(C),冒泡排序将特定数量的项目(n)排序
等式为:
C =(n-1)+(n-2)+(n-3)+ ... + 3 + 2 +1
= [n(n-1)] / 2
我唯一有点困惑的是您如何得出:
C = [n(n-1)] / 2
来自
C =(n-1)+(n-2)+(n-3)+ ... + 3 + 2 +1
我知道这很可能是非常基本的数学,但是我无法弄清楚。我已经在网上搜索过,但是他们并没有真正一步一步地显示出如何做到这一点。
n C
1 0
2 1
3 3
4 6
5 10
. .
. .
. .
从几何角度看,它是矩形的一半:
***** **** *** ** *
以代数方式,通过重新排列元素:
C = (n-1) + (n-2) + (n-3) + ... + 3 + 2 + 1
= [(n-1)+1] + [(n-2)+2] + [(n-3)+3] + ...
= n + n + n + ...