10/24/2008

Metode Shell Sort ( Pengurutan Cangkang )

Shell sort adalah algoritma dengan kompleksitas algoritma 0 (n ^ 2) dan yang paling efisien jika disbanding algoritma lain dengan kompleksitas yang sama. Algoritma shell sort lima kali lebih cepat dibandingkan algoritma pengurutan gelembung dan dua kali lebih cepat di bandingkan algoritma pengurutan dengan penyisipan. Dan tentu saja shell sort juga merupakan algoritma yang paling kompleks dan sulit dipahami.

Algoritma Shell sort melakukan pass atau traversal berkali-kali dan setiap kali pass mengurutkan sejumlah nilai yang sama dengan ukuran set menggunakan insertion set. Ukuran dari set yang harus diurutkan semakin membesar setiap kali melakukan pada tabel,sampai set tersebut mancakup seluruh elemen tabel. Ketika ukuran dari set semakin membesar, sejumlah nilai yang harus diurutkan semakin mengecil. Ini menyebabkan insertion sort yang dijalankan mengalami kasus terbaik dengan kompleksitas algoritma mendekati 0(n). Ikuran dari set yang digunakan untuk setiap kali iterasi ( iteration ) mempunyai efek besar terhadap efisiensi pengurutan.

Tetapi, walaupun tidak se-efisien algoritma merge sort, heap sort, atau quick sort , algoritma shell sort adalah algoritma yang relative sederhana. Hal ini menjadikan algritma shell sort adalah pilihan yang baik dan efisien untuk mengurutkan nilai dalam suatu table berukuran sedang ( mengandung 500 – 5000 elemn ).

Tidak ada komentar: