7 Algoritma Sorting yang Sering Digunakan
Ketika menulis strategi, kode program akan selalu mengalami situasi yang membutuhkan pengurutan data, jadi bagaimana kita merancang program ilmiah dengan biaya sistem minimum (waktu, sumber daya sistem)?
-
1. Sorting cepat
Pengantar:
Sorting cepat adalah sebuah algoritma pengurutan yang dikembangkan oleh Tony Hall. Dalam kondisi rata-rata, pengurutan n item memerlukan O (n log n) perbandingan. Dalam kondisi terburuk, diperlukan O (n) 2 perbandingan, namun hal ini jarang terjadi. Sebenarnya, sorting cepat biasanya jauh lebih cepat daripada algoritma O (n log n) lainnya, karena lingkaran dalamannya (inner loop) dapat diterapkan dengan sangat efisien pada sebagian besar arsitektur, dan pada sebagian besar data dunia nyata, pilihan desain dapat ditentukan, mengurangi kemungkinan waktu yang dibutuhkan untuk kedua sisi.
Langkah selanjutnya:
Pilihlah satu elemen dari array, yang disebut pivot.
Urutan ulang array, semua elemen yang lebih kecil dari nilai acuan diletakkan di depan acuan, semua elemen yang lebih besar dari nilai acuan diletakkan di belakang acuan. Setelah keluar dari partisi ini, acuan berada di posisi tengah array.
Secara rekursi ((recursive) mengurutkan himpunan bagian yang lebih kecil dari elemen acuan dan himpunan bagian yang lebih besar dari elemen acuan.
Efek berurutan:

-
2. Penggabungan dan Pengurutan
Pengantar:
Merge sort adalah sebuah algoritma pengurutan yang efektif berdasarkan operasi penggabungan. Algoritma ini adalah aplikasi yang sangat khas dari Divide and Conquer.
Langkah selanjutnya:
Ruang permintaan, yang ukurannya adalah jumlah dari dua urutan yang telah disortir, digunakan untuk menyimpan urutan gabungan
Tetapkan dua pointer, masing-masing di posisi awal dari dua urutan yang telah diurutkan
Bandingkan dua elemen yang ditunjuk oleh penunjuk, pilih elemen yang relatif kecil untuk dimasukkan ke ruang gabungan, dan gerakkan penunjuk ke posisi berikutnya
Ulangi langkah 3 sampai salah satu penunjuk mencapai akhir urutan
Menyalin semua elemen yang tersisa dari urutan lain langsung ke akhir urutan gabungan
Efek berurutan:

-
3. Pengurutan tumpukan
Pengantar:
Heapsort adalah sebuah algoritma pengurutan yang dirancang dengan menggunakan struktur data heapsort. Heapsort adalah sebuah struktur yang mirip dengan sebuah pohon biner yang sempurna, dan pada saat yang sama memenuhi sifat heapsort: yaitu nilai kunci atau indeks dari subnode selalu lebih kecil dari atau lebih besar dari node induknya.
Langkah selanjutnya:
(Lebih rumit, cari sendiri di internet)
Efek berurutan:

-
4. Pilih urutan
Pengantar:
Selection sort adalah sebuah algoritma pengurutan yang sederhana dan intuitif. Cara kerjanya adalah sebagai berikut. Pertama, carilah elemen terkecil dalam urutan yang tidak disortir, simpan ke posisi awal urutan pengurutan, lalu terus cari elemen terkecil dari sisa elemen yang tidak disortir, lalu letakkan ke akhir urutan pengurutan.
Efek berurutan:

-
5. Pengurutan gelembung
Pengantar:
Bubble Sort (bahasa Taiwan: 泡泡排序 atau bubble sort) adalah sebuah algoritma pengurutan sederhana. Algorithma ini berulang kali mengunjungi urutan yang ingin diurutkan, sekali membandingkan dua elemen, dan jika urutan mereka salah, mereka akan ditukar.
Langkah selanjutnya:
Bandingkan elemen yang berdekatan. Jika yang pertama lebih besar dari yang kedua, ganti keduanya.
Lakukan hal yang sama untuk setiap pasangan elemen yang berdekatan, mulai dari pasangan pertama hingga pasangan terakhir. Pada titik ini, elemen terakhir seharusnya menjadi yang terbesar.
Ulangi langkah-langkah di atas untuk semua elemen, kecuali yang terakhir.
Ulangi langkah-langkah di atas untuk setiap elemen yang semakin sedikit, sampai tidak ada satu pasangan angka yang perlu dibandingkan.
Efek berurutan:

-
6. Menempelkan Urutan
Pengantar:
Insertion Sort adalah sebuah algoritma pengurutan yang sederhana dan intuitif. Prinsip kerjanya adalah dengan membangun urutan berurutan, untuk data yang tidak disortir, scan dari belakang ke depan dalam urutan yang disortir, menemukan posisi yang sesuai dan menyisipkan.
Langkah selanjutnya:
Mulai dari elemen pertama, elemen tersebut dapat dianggap telah diurutkan
Mengambil elemen berikutnya dan memindai dari belakang ke depan dalam urutan elemen yang telah diurutkan
Jika elemen (disortir) lebih besar dari elemen baru, pindah ke posisi berikutnya
Ulangi langkah 3 sampai menemukan elemen yang diurutkan lebih kecil dari atau sama dengan posisi elemen baru
Masukkan elemen baru ke dalam posisi
Ulangi langkah 2
Efek berurutan:
Tidak ada. -
7. Urutan Hill
Pengantar:
Sorting Hill, juga dikenal sebagai algoritma sorting inkremental berkurang, adalah versi yang lebih baik dari inserting sorting yang cepat dan stabil.
Sorting Hill adalah metode perbaikan yang didasarkan pada dua sifat berikut dari insertion sorting:
Saya menggunakan metode yang paling sederhana, apakah Anda?
- 1


