Jumat, 08 November 2019

SORTING SELECTION SORT JAVA

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