Pengertian Selection Sort
Selection sort merupakan teknik sorting yang paling sederhana, hal pertama yang akan dilakukan algoritma selection sort adalah menemukan elemen terkecil dalam array kita dan menukarnya (swap) dengan elemen yang ada di posisi pertama, kemudian algoritma ini akan mengulangi hal yang sama lagi yaitu mencari elemen terkecil yang ada di dalam array dan kemudian menukarnya (swap) dengan elemen yang ada di posisi kedua (mengingat elemen di posisi pertama sudah berhasil kita sorting). Proses ini akan terus berlanjut sampai semua elemen yang ada di dalam array telah berhasil kita sorting.
Sumber : https://medium.com/@opam22/sorting-algorithms-selection-sort-50-100-cafd95ae9f91
CONTOH PROGRAM SELECTION SORT
package belajaralgoritma;
public class SelectionSortAmir {
public static void main(String[] args) {
//auto gen random data
int[] data = new int [10];
int panjang = data.length;
int acak, i, ulang, tmp, pos, min, index;
System.out.print("data : ");
for(i=0;i<panjang;i++) {
acak = (int) (Math.random()*panjang);
data[i] = acak;
System.out.print(data[i]);
}
//mulai selection sort
long start = System.nanoTime();
for(ulang=0;ulang<panjang;ulang++) {
pos=ulang;
min=data[ulang];
for(index=ulang;index<data.length;index++) {
if(data[index] < min) {
min=data[index];
pos=index;
}
}
if(pos!=ulang) {
tmp=data[ulang];
data[ulang]=data[pos];
data[pos]=tmp;
}
}
long stop = System.nanoTime();
System.out.print("\ndata : ");
for(i=0;i<panjang;i++) {
System.out.print(data[i]);
}
System.out.println("\nWaktu : "+(stop-start));
}
}
OUTPUT :
Menggunakan 1000 data acak dan waktu proses
Menggunakan 100 data acak dan waktu proses
Menggunakan 10 data acak dan waktu proses



Tidak ada komentar:
Posting Komentar