Algoritma Sorting : Selection Sort

Selection sort yaitu algoritma untuk sorting samaseperti halnya dengan Insertion sort yang simpel, namun tidak efisien. Pada perulangan pertama, metode ini akan menentukan elemen terkecil dari array, lalu menukarnya dengan elemen pertama.

Selanjutnya pada perulangan kedua, akan menentukan nilai terkecil kedua (atau elemen dengan nilai terkecil diantara seluruh elemen yang tersisa), dan lalu menukarnya dengan elemen yang kedua.


Selection sort yaitu algoritma untuk sorting samaseperti halnya dengan  Algoritma Sorting : Selection Sort



Algoritma akan terus berlanjut hingga perulangan terakhir menentukan elemen dengan nilai terbesar kedua, lalu menukarnya dengan index terakhir kedua, sehingga meninggalkan elemen terbesar di index terakhir. Setelah perulangan ke-i, maka elemen i terkecil dari array akan diurutkan dengan urutan meningkat dalam elemen pertama i dari array.


Sebagai referensi perhatikan array di bawah ini:

22 34 18 10 42 56 68 29 77 56

Maka agenda pertama-tama akan menetapkan elemen terkecil dari array terlebih dahulu, dalam hal ini yaitu angka10 yang berada di index 4. Kemudian akan ditukar dengan angka 22, sehingga menghasilkan:

10 34 18 22 42 56 68 29 77 56

Kemudian dari hasil pertukaran tersebut, agenda akan menyeleksi lagi nilai terkecil dari elemen yang tersisa yaitu kecuali angka 10. Hasil dari seleksi tersebut yaitu angka 18 yang terdapat di index 2. Kemudian agenda akan menukar angka 18 dengan 34, sehingga menghasilkan:

10 18 34 22 42 56 68 29 77 56

Program akan terus melaksanakan sistem perulangan tersebut hingga dengan seluruh elemen array berurut.



Contoh:

public class SelectionSort {    public static void selectionSort (int [] myList){      for (int i = 0; i < myList.length - 1; i++){    int nilaiMinimum = myList[i];    int indexNilaiMinimum = i;        for(int j = i + 1; j < myList.length; j++){     if(nilaiMinimum > myList[j]){      nilaiMinimum = myList[j];      indexNilaiMinimum = j;     }    }        if(indexNilaiMinimum != i){     myList[indexNilaiMinimum] = myList [i];     myList[i] = nilaiMinimum;    }   }     }    public static void main(String args []){      int myArray [] = {22, 34, 18, 10, 42, 56, 68, 29, 77, 56};   SelectionSort.selectionSort(myArray);      //Menampilkan array   for (int i = 0; i < myArray.length; i++){     System.out.print(myArray[i] + " ");   }          }  } 

Output:
10 18 22 29 34 42 56 56 68 77

Belum ada Komentar untuk "Algoritma Sorting : Selection Sort"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel