Algoritma Dan Sruktur Data C++ BAB X (Insertion sort dan Selection sort)
Insertion Sort & Selection Sort
printf("Hallo Para Programmer!!");
printf("Disini Saya Akan Membahas Mengenai Algoritma Pengurutan Dalam Bahasa C/C++");
printf("Algoritma Pengurutan Yang Saya Bahas Disini Adalah Insertion Sort Dan Selection Sort");
printf("Terus Ikuti Blog Ini Untuk Mendapatkan Artikel Bermanfaat Selanjutnya yah");
printf("Selamat Belajar!!");
1. Algoritma Insertion Sort
Salah satu algoritma sorting yang paling
sederhana adalah insertion sort. Algoritma insertion sort pada dasarnya memilah
data yang akan urutkan menjadi 2 bagian, yang belum diurutkan dan yang sudah
diurutkan. Elemen pertama diambil dari bagian array yang belum diurutkan dan
kemudian diletakkan sesuai posisinya pada
bagian lain dari array yang telah diurutkan.
Langkah ini dilakukan secara berulang hingga tak ada lagi elemen tersisa
pada bagian array yang belum diurutka.
Metode insection sort merupakan metode yang mengurutkan bilangan- bilangan yang telah terbaca, dan berikutnya secara berulang akan menyisipkan bilangan-bilangan dalam array yang belum terbaca ke sisi kiri array yang telah terurut. Kita mengambil pada bilangan yang paling kiri. Bilangan tersebut dikatakan urut terhadap dirinya sendiri karena bilangan yang di bandingkan baru 1.
|
3 |
10 |
4 |
6 |
8 |
9 |
7 |
2 |
1 |
5 |
Cek bilangan ke 2 (10) apakah lebih kecil dari bilangan yang ke
1(3).Apabila lebih kecil maka ditukar. Tapi
kali ini bilangan ke 1 lebih kecil dari bilangan ke 2 maka tidak ditukar.
|
3 |
10 |
4 |
6 |
8 |
9 |
7 |
2 |
1 |
5 |
|
3 |
10 |
4 |
6 |
8 |
9 |
7 |
2 |
1 |
5 |
Pada kotak warna abu2 sudah dalam keadaan terurut. Kemudian membandingkan lagi pada bilangan selanjutnya yaitu bilangan ke 3 (4). Bandingkan dengan bilangan yang ada di sebelah kirinya. Pada kasus ini bilangan ke 2 bergeser dan digantikan bilangan ke 3.
3 | 10 | 4 | 6 | 8 | 9 | 7 | 2 | 1 | 5 |
3 | 10 | 4 | 6 | 8 | 9 | 7 | 2 | 1 | 5 |
Lakukan langkah seperti di atas pada bilangan selanjutnya. 4 bilangan pertama sudah dalam keadaan terurut relatif. Ulangi proses tersebut sampai bilangan terakhir disisipkan.
3 | 4 | 10 | 6 | 8 | 9 | 7 | 2 | 1 | 5 |
3 | 4 | 6 | 10 | 8 | 9 | 7 | 2 | 1 | 5 |
3 | 4 | 6 | 8 | 10 | 9 | 7 | 2 | 1 | 5 |
3 | 4 | 6 | 8 | 9 | 10 | 7 | 2 | 1 | 5 |
3 | 4 | 6 | 7 | 8 | 9 | 10 | 2 | 1 | 5 |
2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 1 | 5 |
1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 5 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
2. Algoritma Selection Sort
Ide utama dari algoritma selection sort
adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang
terpilih dengan elemen ke-i. Nilai
dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
Cek seluruh array
dan cari array yang mempunyai
nilai terkecil → index 8 (1).
Setelah ketemu tukar dengan array yang berada di pojok kiri (3).
|
3 |
10 |
4 |
6 |
8 |
9 |
7 |
2 |
1 |
5 |
|
3 |
10 |
4 |
6 |
8 |
9 |
7 |
2 |
1 |
5 |
Setelah di tukar bagian yang berwarna abu-abu merupakan index yang telah terurutkan.
|
1 |
10 |
4 |
6 |
8 |
9 |
7 |
2 |
3 |
5 |
|
1 |
10 |
4 |
6 |
8 |
9 |
7 |
2 |
3 |
5 |
|
1 |
2 |
4 |
6 |
8 |
9 |
7 |
2 |
3 |
5 |
|
1
|
2
|
4
|
6
|
8
|
9
|
7
|
10 |
3
|
5
|
|
1
|
2
|
3 |
6
|
8
|
9
|
7
|
10 |
4 |
5
|
|
1
|
2
|
3 |
6
|
8
|
9
|
7
|
10 |
4 |
5
|
|
1
|
2
|
3 |
4 |
8
|
9
|
7
|
10 |
6 |
5
|
|
1
|
2
|
3 |
4 |
8
|
9
|
7
|
10 |
6 |
5
|
|
1
|
2
|
3 |
4 |
5 |
9
|
7
|
10 |
6 |
8 |
|
1
|
2
|
3 |
4 |
5 |
9
|
7
|
10 |
6 |
8 |
|
1
|
2
|
3 |
4 |
5 |
6 |
7
|
10 |
9 |
8 |
|
1
|
2
|
3 |
4 |
5 |
6 |
7
|
10 |
9 |
8 |
|
1
|
2
|
3 |
4 |
5 |
6 |
7
|
10 |
9 |
8 |
|
1
|
2
|
3 |
4 |
5 |
6 |
7
|
8 |
9 |
10 |
|
1
|
2
|
3 |
4 |
5 |
6 |
7
|
8 |
9 |
10 |
0 comments:
Posting Komentar