Menyortir item dalam daftar adalah tugas biasa dan seringkali memakan waktu. Penyortiran istilah umumnya mengacu pada mengatur item dalam daftar dalam urutan naik atau turun berdasarkan pada relasi pemesanan yang ditentukan sebelumnya. Penyortiran sering dimaksudkan untuk pencarian, yang merupakan kegiatan mendasar dalam pemrosesan data. Bayangkan betapa sulitnya mencari kata di kamus jika kata-kata di dalamnya tidak disusun atau diurutkan. Ini adalah alasan mengapa entri dalam kamus disimpan dalam urutan abjad standar. Banyak tugas dan perhitungan menjadi mudah tanpa usaha dengan menyortir. Dan di sinilah algoritma pengurutan datang ke gambar.
Algoritma pemilahan tidak lain adalah metode untuk mengatur elemen daftar ke dalam urutan tertentu, seperti nilai terendah ke tertinggi, nilai tertinggi ke terendah, peningkatan pesanan, penurunan pesanan, alfabet, dll. Pesanan yang paling umum digunakan adalah urutan numerik dan leksikografis. Algoritma sering menggunakan penyortiran sebagai subrutin kunci. Ada berbagai macam algoritma penyortiran yang digunakan di seluruh, masing-masing menggunakan serangkaian teknik yang kaya. Salah satu algoritma yang populer namun sama kuatnya adalah algoritma Divide and Conquer yang merupakan algoritma berdasarkan rekursi multi-cabang. Quick Sort dan Merge Sort adalah dua algoritma yang umum digunakan berdasarkan algoritma Divide and Conquer.
Quick Sort adalah algoritma penyortiran yang sangat efisien namun efektif berdasarkan pada pendekatan divide and conquer yang sangat mirip dengan pendekatan dinamis di mana suatu masalah dibagi menjadi dua atau lebih sub-masalah dan kemudian dipecahkan secara rekursif. Jika ukuran sub-masalah cukup kecil, maka mereka diselesaikan secara sederhana tanpa gangguan. Juga disebut jenis partisi-pertukaran, algoritma pengurutan cepat membagi daftar untuk diurutkan menjadi tiga bagian utama: 1) Elemen pivot (elemen sentral), 2) elemen kurang dari pivot, dan 3) elemen lebih besar dari pivot. Pivot itu sendiri dipindahkan antara kedua kelompok ke posisi akhir dan SORT CEPAT kemudian diterapkan secara rekursif.
Merge Sort adalah algoritma penyortiran untuk keperluan umum lainnya berdasarkan teknik divide and conquer. Ini adalah salah satu algoritma penyortiran yang paling dihormati dan populer yang dirancang untuk digunakan secara efisien untuk mengurutkan data yang disimpan secara eksternal dalam file. Menawarkan O (n log n) perilaku dalam kasus terburuk saat menggunakan O (n) penyimpanan ekstra. Ini membagi koleksi 'A' menjadi dua koleksi yang lebih kecil, yang masing-masing kemudian diurutkan. Pada fase terakhir, kedua koleksi yang disortir ini digabungkan kembali menjadi satu koleksi ukuran n. Ini akan menjadi daftar yang diurutkan. Algoritma ini cukup cepat dan juga merupakan jenis yang stabil, dan lebih disukai untuk Linked Links.
- Quick Sort dan Merge Sort adalah algoritma penyortiran berbasis divide-and-conquer dengan prinsip dasar yang sama - untuk membagi masalah menjadi dua atau lebih sub-masalah dan kemudian menyelesaikannya secara rekursif. Namun, mereka berbeda dalam prosedur penggabungan dan dalam hal kinerja. Penyortiran Cepat umumnya lebih baik dan lebih cepat daripada algoritma penyortiran lainnya termasuk Penggabungan Penggabungan ketika datang ke kumpulan data kecil, sedangkan Penyatuan Penggabungan mempertahankan konsistensi terlepas dari jenis set data. Sortir Cepat lebih disukai untuk array sedangkan Sortir Gabungan lebih disukai untuk Daftar Tertaut.
- Penyortiran dalam algoritma Penyortiran Cepat dilakukan secara rekursif, dan setiap panggilan rekursif membutuhkan tempat tumpukan. Itu tidak memerlukan ruang tambahan untuk penggabungan, kecuali satu ruang memori tunggal untuk penggabungan. Karena ini adalah algoritma penyortiran di tempat, tidak ada ruang tambahan yang diperlukan untuk melakukan penyortiran. Bahkan, ia menggunakan array yang sama saat membagi dan menggabungkan array. Di Gabung Urutkan, di sisi lain, ada beberapa cara untuk mewakili data dalam file atau sebagai array, sehingga diperlukan area kerja seperti sub-file atau array dengan ukuran yang sama yang membutuhkan ruang ekstra.
- Perilaku kasus terburuk untuk Penyortiran Cepat terjadi ketika partisi tidak seimbang yang tergantung pada elemen mana yang digunakan untuk mempartisi, dalam hal ini, algoritme berjalan asimptotik selambat penyortiran. Kinerja kasus terburuk dari Sort Cepat adalah O (n2) dan dibiarkan sebagai latihan. Namun, hal itu dapat dihindari dengan memilih pivot yang tepat. Kasus terburuk dari Gabung Sortir, di sisi lain, terjadi ketika harus melakukan perbandingan jumlah maksimum. Mempertimbangkan kinerja linier untuk penggabungan, kinerja kasus terburuk dari Jenis Gabungkan adalah O (n log2 n).
- Meskipun algoritma Quick Sort dan Merge Sort didasarkan pada pendekatan bagi dan menaklukkan untuk menyortir, mereka berbeda dengan metode yang digunakan untuk melakukan prosedur split dan menggabungkan. Untuk Pengurutan Cepat, sebagian besar pekerjaan adalah mempartisi daftar menjadi dua sub-daftar yang terjadi sebelum sub-daftar diurutkan. Untuk Gabung Urut, sebagian besar pekerjaan adalah untuk menggabungkan dua sub-daftar yang terjadi setelah sub-daftar diurutkan. Gabung Sortir memerlukan larik sementara untuk menggabungkan dua sub-larik, sedangkan ruang larik tambahan tidak diperlukan untuk Penyortiran Cepat, membuatnya lebih hemat ruang daripada Marge.
Algoritma Quick Sort dan Merge Sort didasarkan pada pendekatan divide dan conquer untuk sortasi. Namun, mereka berbeda dengan metode yang digunakan untuk melakukan prosedur pemisahan dan penggabungan. Mereka pada dasarnya bekerja dengan prinsip yang sama - untuk membagi masalah menjadi dua atau lebih sub-masalah dan kemudian menyelesaikannya secara rekursif. Gabung Sortir lebih efisien daripada Sort Cepat dalam kasus terburuk, tetapi keduanya sama-sama efisien dalam kasus rata-rata. Tetapi Penyortiran Cepat lebih hemat ruang daripada Penggabungan Penggabungan. Jadi Quick Sort tidak diragukan lagi lebih cepat dan lebih baik daripada Gabung Sort tetapi menjadi tidak efisien dalam beberapa situasi seperti ketika datang ke perbandingan.