insertion sort

Insertion Sort


Salah satu algoritma sorting adalah insertion sort. Ide darialgoritma ini
dapat dianalogikan seperti mengurutkan kartu. Penjelasan berikut ini
menerangkan bagaimana algoritma insertion sort bekerja dalam pengurutan kartu.
Anggaplah anda ingin mengurutkan satu set kartu dari kartu yang bernilai paling
kecil hingga yang paling besar. Seluruh kartu diletakkan pada meja, sebutlah meja
ini sebagai meja pertama, disusun dari kiri ke kanan dan atas ke bawah. Kemudian
kita mempunyai meja yang lain, meja kedua, dimana kartu yang diurutkan akan
diletakkan. Ambil kartu pertama yang terletak pada pojok kiri atas meja pertama
dan letakkan pada meja kedua. Ambil kartu kedua dari meja pertama, bandingkan
dengan kartu yang berada pada meja kedua, kemudian letakkan pada urutan yang
sesuai setelah perbandingan. Proses tersebut akan berlangsung hingga seluruh kartu
pada meja pertama telah diletakkan berurutan pada meja kedua.
Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi
dua bagian, yang belum diurutkan (meja pertama) dan yang sudah diurutkan (meja
kedua). 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 tidak ada lagi elemen yang
tersisa pada bagian array yang belum diurutkan.
Pengenalan Pemrograman 2

Algoritma

void insertionSort(Object array[], int startIdx, int endIdx) {
for (int i = startIdx; i < k =" i;" j =" i">0) {
k = j;
}
}
swap(array[i],array[k]);
}
}


Sebuah Contoh
contoh pengurutan hurup dari nama buah sesuai abjat

Data ----------1pass ----------2 Pass---------- 3Pass

Mango -------Apple ----------Apple----------- Apple
Apple --------Mango--------- Mango ----------Banana
Peach -------- Peach ---------Orange ----------Mango
Orange -------Orange --------Peach -----------Orange
Banana -------Banana-------- Banana---------- Peach

0 komentar:

Posting Komentar