我如何得出冒泡排序比较公式?

问题描述 投票:0回答:2

所以我在高中学习排序算法,最近我们分析了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

我知道这很可能是非常基本的数学,但是我无法弄清楚。我已经在网上搜索过,但是他们并没有真正一步一步地显示出如何做到这一点。

sorting bubble-sort
2个回答
0
投票
查找:https://en.wikipedia.org/wiki/Arithmetic_progression表示算术级数的一般公式。

0
投票
凝视它,直到看到图案:

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 + ...
© www.soinside.com 2019 - 2024. All rights reserved.