My first Magazine pemrograman-kompetitif-dasar | Page 41
3.2 Pengurutan
2
2
2
2
3
3
3
3
4
4
4
3
3
3
3
4
5
5
5
5
8
8
8
8
ditukar
tidak ditukar
Gambar 3.9: Ilustrasi penggiringan elemen ketiga terbesar ke posisi ketiga dari akhir.
Implementasi Bubble Sort
Implementasi Bubble Sort dapat ditemukan pada Algoritma 12.
Algoritma 12 Algoritma Bubble Sort .
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure B UBBLE S ORT (h)
for i ← 1, N − 1 do
for j ← 1, N − i do
if (h[ j] > h[ j + 1]) then
SWAP (h[ j], h[ j + 1])
end if
end for
end for
end procedure
. Tukar h[ j] dengan h[ j + 1]
Jika eksekusi ke-i mengakibatkan i elemen terbesar terletak di i posisi terakhir, maka
dibutuhkan N kali eksekusi hingga seluruh data terurut. Dalam sekali eksekusi, dilakukan iterasi
dari elemen pertama sampai elemen terakhir, yang kompleksitasnya berkisar antara O(1) sampai
O(N), tergantung eksekusi ke berapa. Secara rata-rata, kompleksitasnya setiap eksekusi adalah
O(N/2), yang bisa ditulis O(N). Total kompleksitas bubble sort adalah O(N 2 ).
3.2.2 Selection Sort
Berikut adalah langkah-langkah untuk melakukan selection sort :
1.
2.
3.
4.
Pilih elemen terkecil dari data, lalu pindahkan ke elemen pertama.
Pilih elemen terkecil dari data yang tersisa, lalu pindahkan ke elemen kedua.
Pilih elemen terkecil dari data yang tersisa, lalu pindahkan ke elemen ketiga.
... dan seterusnya sampai seluruh elemen terurut.
31