J. E. N. I.
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.
6.3.1 Algoritma
void selectionSort( Object array [], int startIdx, int endIdx) { int min; for( int i = startIdx; i < endIdx; i ++) { min = i; for( int j = i + 1; j < endIdx; j ++) { if((( Comparable) array [ min ]). compareTo( array [ j ])> 0) { min = j;
}
} swap( array [ min ], array [ i ]); }
}
6.3.2 Sebuah Contoh
Data |
1 st Pass |
2 nd Pass |
3 rd Pass |
4 th Pass |
Maricar |
Hannah |
Hannah |
Hannah |
Hannah |
Vanessa |
Vanessa |
Margaux |
Margaux |
Margaux |
Margaux |
Margaux |
Vanessa |
Maricar |
Maricar |
Hannah |
Maricar |
Maricar |
Vanessa |
Rowena |
Rowena |
Rowena |
Rowena |
Rowena |
Vanessa |
Figure 1.2.2: Contoh selection sort
6.4 Merge Sort
Sebelum mendalami algoritma merge sort, mari kita mengetahui garis besar dari konsep divide and conquer karena merge sort mengadaptasi pola tersebut.
6.4.1 Pola Divide and Conquer
Beberapa algoritma mengimplementasikan konsep rekursi untuk menyelesaikan permasalahan. Permasalahan utama kemudian dipecah menjadi sub-masalah, kemudian solusi dari sub-masalah akan membimbing menuju solusi permasalahan utama.
Pengenalan Pemrograman 2 3