Sorting

08.45

Selama tugas 1 SDA banyak banget yang nunjukin, diskusi, dan ngasih ide untuk sorting, dan cukup banyak ide gila yang ditemukan. Contohnya adalah Bogosort.

public Object[] bogosort (Object[] unsortedArray) {

 //jika array sudah tersortir, kembalikan array
 if (isArraySorted(unsortedArray)) 
  return unsortedArray;
  
 //jika belum, permutasi array. Siapa tau jadi permutasi yang tersortir
 else
  return bogosort (permutateArray(unsortedArray));
}

Walaupun bodoh, tapi bestcase-nya O(n)! (atau O(1), tergantung algo ngecek arraynya udah ke-sort atau belum). Trus Fariskhi memikirkan sorting dengan jumlah data terserah tapi bestcasenya O(n) dan worstcase-nya O(n log n), trus dia namain Fariskhi Sort

Bagaimana cara kerja Fariskhi sort? ini dia :



public Object[] fariskhisort (Object[] unsortedArray) {

 //jika array sudah tersortir, kembalikan array
 if (isArraySorted(unsortedArray)) 
  return unsortedArray;
  
 //jike belum, lakukan merge sort
 else
  return mergeSort(unsortedArray);
}

Trus temen gua, Murda, ngasih tau Quantum Sort, sorting dengan menggunakan teori Multiverse

public Object[] quantumsort (Object[] unsortedArray) {

 //jika array sudah tersortir, kembalikan array
 if (isArraySorted(unsortedArray)) 
  return unsortedArray;
  
 //jika belum, pindah dimensi, cari dimensi dimana array tersebut tersortir
 else {
  changeUniverse();
  return quantumsort (unsortedArray);
 }
}


Awesome enough? Dengan timing yang tepat saat gua mikirin Trie, xkcd.com ngeluarin komik tentang sorting

klik untuk memperbesar :3


dan Teori Stack Sort yang juga dari xkcd.

public Object[] stacksort (Object[] unsortedArray) {

 //StackSort connects to StackOverflow, searches for 'sort a list', 
 //and downloads and runs code snippets until the list is sorted.
 
 SearchResult search = doSearchOnStackOverflowDotCom("Sort a List");
 CodeSnippet[] sortingAlgoritmArray = search.downloadAllCodeSnippets();
 
 for (int i = 0; i < sortingAlgoritmArray.length; i++) {
 
  unsortedArray = runCodeSnippet(sortingAlgoritmArray[i], unsortedArray);
  if (isArraySorted(unsortedArray)) 
   return unsortedArray;
 }
 
 System.out.println("StackOverflow tells this list can't be sorted");
 return unsortedArray;
}

Gua? gua berhasil menemukan implementasi wacana sort

public void wacanasort (Object[] unsortedArray) {
 //wacana-nya listnya bakal di sort
 return;
}

Cukup gila memang semua ide-ide tersebut, hahaha..

Eh, gua lagi UTS nih minggu ini, doain nilai gua bagus yak! :3
Ganbare!

You Might Also Like

1 komentar

  1. ada yang lebih jago, sei...

    Bogobogo sort
    is an algorithm that was designed not to succeed before the heat death of the universe on any sizable list. It works by implementing the Bogo sort on the first two elements in the list. If they are in order, then it Bogo sorts the first three elements, and so on, increasing by one until the entire list is sorted. Should the list not be in order at any point, the sort starts over with the first two elements.

    BalasHapus

When you think 11 and 12 is close, remember that there is infinite real numbers between them

Still, it's close enough
Diberdayakan oleh Blogger.