Dalam postingan kali ini, saya akan menjelaskan secara sederhana tentang Bogo Sort (penyortiran Bogo)
Bogo Sort
Dalam ilmu computer, Bogo Sort (bisa disebut juga stupidsort/slowsort/randomsort dan lain sebagainya) adalah algoritma sorting yang cukup tidak efektif berdasarkan generalisasi dan hasil tes paradigmanya. Bogo Sort tidak terlalu sering digunakan untuk menyortir, tapi masih sering digunakan untuk tujuan pendidikan, dan dikombinasikan dengan algoritma lain yang lebih riil. Bogo Sort digunakan dibanyak contoh pemrograman logika. Jika Bogo Sort digunakan untuk menyortir setumpuk kartu, maka hasilnya akan memeriksa apakah dek kartu tersebut sudah dalam urutan atau tidak,dan jika tidak, maka dek tersebut akan diacak, lalu dia mengambil satu kartu acak lalu menyusunnya, proses terus berlanjut hingga dek tersebut tersusun rapi. Nama Bogo diambil dari kata Bogus yang artinya palsu dalam bahasa inggris.
Deskripsi Algoritma Bogo Sort
Di bawah ini adalah contoh cara bekerja Bogo Sort dalam pseudocode:
- Gorosort
- Bogobogosort
- Bozosort
- Quantum Bogosort
Implementasi di Java
public class BogoSort{ private static final Random generator = new Random(); public static void bogoSort(int[] array) { while (!isSorted(array)) { for (int i = 0; i < array.length; i++){ int randomPosition = generator.nextInt(array.length); int temp = array[i]; array[i] = array[randomPosition]; array[randomPosition] = temp; } } } private static boolean isSorted(int[] array) { for (int i = 1; i < array.length; i++){ if (array[i] < array[i - 1]) { return false; } } return true; } public static void main(String[] args) { int [] array = {5,3,0,2,4,1,0,5,2,3,1,4}; System.out.println("Before: " + Arrays.toString(array)); bogoSort(array); System.out.println("After: " + Arrays.toString(array)); } }Hasil outputnya akan seperti dibawah ini :Java Bogo Sort :
Before: [5, 3, 0, 2, 4, 1, 0, 5, 2, 3, 1, 4]After: [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
terima kasih, sangat membantu sekali :)
BalasHapus