=
1
1
3 if A[j] > A[j+1] c
3
1
1
1
=
i
n
i
t
4 swap(A[j], A[j+1]) c
4
1
1
1
=
i
n
i
t
5 n = n-1 c
5
n-1
Contoh kasus:
Misal terdapat array yang memiliki angka 5 2 9 10 17 8 20 9. Ketika bubble sort
dijalankan susunan angka tiap iterasinya adalah sebagai berikut
First pass:
2 5 9 10 17 8 20 9
2 5 9 10 17 8 20 9
2 5 9 10 17 8 20 9
2 5 9 10 17 8 20 9
2 5 9 10 8 17 20 9
2 5 9 10 8 17 20 9
2 5 9 10 8 17 9 20
Second Pass:
2 5 9 10 8 17 9 20
2 5 9 10 8 17 9 20
2 5 9 10 8 17 9 20
2 5 9 8 10 17 9 20
2 5 9 8 10 17 9 20
2 5 9 8 10 9 17 20
Third Pass:
2 5 9 8 10 9 17 20
2 5 9 8 10 9 17 20
2 5 8 9 10 9 17 20
2 5 8 9 10 9 17 20
2 5 8 9 9 10 17 20
Fourth Pass:
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20
Fifth Pass:
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20
Sixth Pass:
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20
Seventh Pass:
2 5 8 9 9 10 17 20
Worst-case Scenario:
Ketika susunan angka dalam arraynya sudah terurut tapi terbalik
Best-case Scenario:
Ketika susunan angka dalam arraynya sudah terurut, maka tidak ada swap yang dilakukan
tiap iterasinya
Jika dianalisis running timenya, maka didapat
T(n) = c
1
n + c
2
i
n
i
t
=
1
1
+ c
3
1
1
1
=
i
n
i
t + c
4
1
1
1
=
i
n
i
t + c
5
(n-1)
T(n) = (c
1
+ c
5
)n - c
5
+ c
2 |
.
|
\
|
2
) (n n
+ c
3 |
.
|
\
|
2
) 2 (n n
+ c
4 |
.
|
\
|
2
) 2 (n n
T(n) = 1/2n
2
(c
2 +
c
3 +
c
4
) +
(c
1
- c
3
- c
4
+ c
5
)n - c
5
Jika dilihat dari T(n), derajat tertinggi dari fungsi tersebut adalah 2. Maka pertumbuhan
fungsi T(n) adalah n
2
. Dapat dikatakan running timenya adalah (n
2
) yang artinya
pertumbuhan fungsinya adalah n
2
.