2.10.16

Bucket Sort

      Bucket Sort merupakan algoritma sorting yang mempartisi deret angka menjadi beberapa deret yang kemudian dianalogikan menjadi ember atau wadah. Adapun cara kerja dari bucket sort adalah dengan membagi dan memecahkan himpunan array ke dalam beberapa ember (bucket) virtual secara merata. Kemudian pada masing-masing ember dilakukan pengurutan dengan menggunakan algoritma lainnya misalnya merge sort  atau quick sort. Setelah selesai maka dikumpulkan kembali ke array aslinya, sehingga mendapatkan susunan array yang sudah terurut. 

Contoh ilustrasi dari Bucket Sort :


Contoh source code Java :
-----------------------------------------------------------------------------------------------------------

Import java.until.*;
Public class BucketSort
{
     Public static void sort(int[] a, int maxVal)
     {
     Int[] bucket=new int[maxVal+1];
     For(int i=0; i<bucket.length; i++)
     {
           Nucket[i]=0;
     }
     For (int i=0; i<a.length; i++)
     {
           Bucket[a[i]}++;
     }
     Int outPos=0;
     For (int i=0; i<bucket.length; i++)
     {
           For (int j=0; J<bucket[i]; j++)
           {
                A[outPos++]=i;
           }
     }
Public static void main (string[] args)
{
     Int maxVal=5;
     Int [] data= {5,3,0,2,4,1,0,5,2,3,1,4};
     System.out.println(“Before: “ + Arrays.toString(data));
     Sort(data,maxVal);
     System.0ut.println(“After: “ + Arrays.toString(data));
}


EmoticonEmoticon