Menyortir spageti merupakan sebuah algoritma untuk menyortir benda yang diperkenalkan oleh seorang matematikawan asal Kanada, Alexander Dewdney dalam kolomnya di majalah Scientific American.[1][2][3] Algoritma ini mengurutkan benda yang membutuhkan ruang untuk menumpuk O(n) yang stabil. Hal ini membutuhkan prosesor paralel.

Algoritma sunting

Untuk sederhananya, mari kita asumsikan kita sedang mengurutkan bilangan asli. Metode, penyortirannya diilustrasikan dengan mengunakan batang spageti mentah.

1. Untuk setiap angka terdapat x di daftar, dapatkan batang dengan panjang x. (Salah satu cara praktis memilih unitnya adalah dengan memilih angka terbesar m dalam daftar dan berkoresponden untuk satu batang spageti yang sempurna. Dalam hal ini satu batang sempurna sama dengan m unit spageti. Untuk mendapat panjang batang x, pecahkan batang (spageti) tersebut menjadi dua, jadi salah satu bagian adalah panjang x dan buang bagian lainnya (yang tidak sama panjang).

2. Setelah mendapat semua batang spageti, ambil batang tersebut dan turunkan dengan perlahan-lahan ke meja, dan biarkan batang spageti tersebut di permukaan meja. Sekarang, untuk setiap batang spageti, turunkan tangan anda dari atas hingga menyentuh batang (Jelas proses ini membingungkan dan menghabiskan waktu). Pindahkan batang tersebut ke dalam daftar output yang sebelumnya kosong. Ulangi langkah tersebut sampai semuanya sudah dipindahkan

Referensi sunting

  1. ^ Dewdney, A. K. (June 1984), "On the spaghetti computer and other analog gadgets for problem solving", Scientific American, 250 (6), hlm. 19–26 
  2. ^ Stauffer, Dietrich (May 15, 1999), Annual Reviews of Computational Physics VI, World Scientific, hlm. 260, ISBN 981-02-3563-1 
  3. ^ Adamatzky, Andrew (July 1, 2006), From Utopian to Genuine Unconventional Computers, Luniver Press, hlm. 96, ISBN 0-9551170-9-7