Isi
Menyortir satu set item dalam daftar adalah tugas yang sering dalam pemrograman. Seringkali, manusia dapat melakukan tugas ini secara intuitif. Namun, program komputer harus mengikuti urutan instruksi yang tepat untuk menyelesaikannya, dan urutan ini disebut algoritma. Algoritma pengurutan adalah metode yang digunakan untuk menempatkan daftar item yang tidak terorganisir dalam urutan tertentu. Urutan pemesanan ditentukan oleh kunci. Ada beberapa algoritma penyortiran yang berbeda dalam hal efisiensi dan kinerja. Beberapa yang diketahui dan penting dari jenis ini meliputi: sortir bubble, sort seleksi, sortasi sort, dan sort cepat.
Banyak item dapat dipesan dengan algoritma (Thinkstock / Comstock / Getty Images)
Semacam gelembung
Sortir gelembung berulang kali menukar elemen yang berdekatan yang tidak berurutan sampai setiap daftar item berurutan. Dengan cara ini, item berfluktuasi dalam daftar sesuai dengan nilainya, yang terbesar (dalam hal urutan naik) berakhir pada akhir setiap iterasi.
Keuntungan utama dari algoritma ini adalah implementasinya mudah dan akrab. Selain itu, dalam semacam gelembung, elemen ditukar keluar tanpa menggunakan penyimpanan sementara, yang membuat kebutuhan ruang menjadi minimal. Kerugian utama adalah kenyataan bahwa itu tidak menunjukkan hasil yang baik ketika daftar berisi banyak item. Ini karena jenis pemesanan ini membutuhkan langkah pemrosesan n2 untuk setiap jumlah n elemen yang akan diurutkan. Oleh karena itu, bubble sort diindikasikan untuk pengajaran akademik, tetapi tidak untuk aplikasi kehidupan nyata.
Sortir seleksi
Sortir seleksi berulang kali menelusuri daftar item dengan memilih satu item pada suatu waktu dan menempatkannya pada posisi urutan yang benar.
Keuntungan utama dari semacam seleksi adalah bahwa ia bekerja dengan baik pada daftar kecil. Selain itu, karena ini adalah algoritma pemesanan tempat, tidak perlu penyimpanan sementara di luar apa yang diperlukan untuk menyimpan daftar asli. Kerugian utama adalah efisiensinya yang rendah dalam daftar besar. Seperti bubble sort, ia membutuhkan jumlah langkah n2 untuk setiap elemen n. Selain itu, kinerjanya mudah dipengaruhi oleh urutan awal item sebelum proses penyaringan. Karena itu, pemilihan jenis ini hanya cocok untuk daftar di mana beberapa elemen berada dalam urutan acak.
Jenis penyisipan
Sisipan menyortir daftar berulang kali dan setiap kali memasukkan item dari urutan yang tidak teratur ke posisi yang benar.
Keuntungan utama dari memasukkan pemesanan adalah kesederhanaannya, serta menunjukkan kinerja yang baik pada daftar kecil. Ini adalah algoritma pemesanan tempat, sehingga kebutuhan ruang minimal. The downside adalah bahwa ia tidak berkinerja sebaik algoritma pengurutan lainnya. Dengan langkah-langkah n2 yang diperlukan untuk bekerja, masukkan sort tidak berfungsi dengan baik pada daftar besar. Namun, ini sangat berguna dengan daftar beberapa item.
Sortir cepat
Sortir cepat bekerja dengan prinsip pembagian dan penaklukan. Pertama, ia membagi daftar item menjadi dua sub-daftar berdasarkan elemen pivot. Semua elemen dalam sub-daftar pertama disusun sehingga lebih kecil dari pivot, sedangkan semua elemen dalam sub-daftar kedua diatur lebih besar dari pivot. Proses partisi dan pengorganisasian yang sama dijalankan berulang kali dalam sublists yang dihasilkan hingga seluruh daftar diorganisasikan.
Penyortiran cepat dianggap oleh beberapa orang sebagai algoritma penyortiran terbaik karena keunggulannya yang signifikan dalam hal efisiensi karena bekerja dengan baik dengan sejumlah besar item. Dengan memesan di tempat, juga tidak perlu ruang penyimpanan tambahan. Kerugian sedikit yang disajikan adalah bahwa kinerja terburuknya mirip dengan kinerja rata-rata dari algoritma lain yang dijelaskan di atas. Namun, penting untuk dicatat bahwa kasus terburuk ini sangat jarang terjadi. Secara umum, penyortiran cepat menghasilkan metode yang paling efisien dan banyak digunakan untuk mengatur daftar ukuran apa pun.