Sort_Algorithms
V1.1
Program untuk menunjukkan waktu eksekusi dan berbagai algoritma penyortiran dalam bahasa C Ada 48 algoritma penyortiran yang tersedia didistribusikan dalam 8 kategori berbeda.
Pada pengaturan program ada modifikasi tersedia yang dicatat dalam tabel di bawah ini:
| Konfigurasi | Bawaan |
|---|---|
| Kasus penyortiran | Acak |
| Interval acak | 32 |
| Panjang array | 10 |
| Simpan hasil dalam file teks | TIDAK |
| Tampilan array | YA |
| Tampilkan waktu eksekusi | YA |
Catatan: Anda harus menginstal kompiler GCC di mesin Anda untuk menjalankan instruksi di bawah ini untuk menjalankan program.
Buka terminal dan buka direktori proyek. Jalankan make di Terminal Izinkan untuk mengkompilasi program. Perintah AVALIABLE untuk dieksekusi dengan make ( make ${command} ):
| Memerintah | Keterangan |
|---|---|
| membersihkan | Hapus semua objek yang dihasilkan |
| Cr | Kompilasi dan jalankan |
| RMPROPER | Hapus semua file objek |
| berlari | Jalankan program utama |
Pada command prompt atau powershell dan pergi ke direktori proyek dan mengeksekusi execute.bat .





| Kategori | Menyortir |
|---|---|
| Esoterik & Fun & Miscellaneous | Jenis yang buruk Bogo Bogo Sort Bogo Sort Bubble Bogo Sort Koktail Bogo Sort Exchange Bogo Sort Kurang bogo sort Sortir pancake Jenis konyol Jenis tidur Jenis lambat Spaghetti sort Sortir STOOGE |
| Menukarkan | Sortir Gelembung Sortir lingkaran Sortir pengocok koktail Sortir sisir Pivot cepat pivot Jenis gnome Jenis aneh-bahkan Sortir gelembung yang dioptimalkan Sortir pengocok koktail yang dioptimalkan Jenis gnome yang dioptimalkan Sortir cepat Sortir cepat 3 arah Jenis cepat yang stabil |
| Hibrida | Time Sort |
| Insersi | Sortir pohon avl Urutan Penyisipan Biner Siklus Sort Penyisipan Sortir Kesabaran Sortir shell Jenis pohon |
| Menggabungkan | Urutan gabungan bottom-up Sortir di tempat gabungan Gabungan |
| Jaringan & Bersamaan | Jenis bitonik Jaringan berpasangan |
| Non-Peromparan & Distribusi | Sortir ember Menghitung jenis Sortir gravitasi (manik) Pigeonhole Sort Radix LSD Sort |
| Pilihan | Sortir pilihan ganda Max Heap Sort Min heap sort Jenis seleksi |
| Algoritma | Kasus terburuk | Kasus terbaik | Rata-rata | Kompleksitas ruang | Di tempat | Stabil | Catatan |
|---|---|---|---|---|---|---|---|
| Jenis yang buruk | O (n³) | O (n³) | O (n³) | O (1) | ✔️ | ||
| Bogo Bogo Sort | O (Infinity) | O (n²) | O ((n+1)!) | O (1) | ✔️ | Kasus terburuk bisa tidak terikat karena manipulasi acak | |
| Bogo Sort | O (Infinity) | PADA) | O ((n+1)!) | O (1) | ✔️ | Kasus terburuk bisa tidak terikat karena manipulasi acak | |
| Bubble Bogo Sort | O (Infinity) | PADA) | O ((n+1)!) | O (1) | ✔️ | ✔️ | Kasus terburuk bisa tidak terikat karena manipulasi acak |
| Koktail Bogo Sort | O (Infinity) | PADA) | O ((n+1)!) | O (1) | ✔️ | Kasus terburuk bisa tidak terikat karena manipulasi acak | |
| Exchange Bogo Sort | O (Infinity) | PADA) | O ((n+1)!) | O (1) | ✔️ | Kasus terburuk bisa tidak terikat karena manipulasi acak | |
| Kurang bogo sort | O (Infinity) | O (n²) | O ((n+1)!) | O (1) | ✔️ | Kasus terburuk bisa tidak terikat karena manipulasi acak | |
| Sortir pancake | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | ||
| Jenis konyol | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | ||
| Jenis tidur | O (int_max) | O (maks (input) + n) | O (maks (input) + n) | PADA) | ✔️ | Menggunakan penjadwal CPU untuk mengurutkan | |
| Jenis lambat | O (n*n!) | PADA) | O ((n+1)!) | O (1) | ✔️ | ||
| Spaghetti sort | PADA) | PADA) | PADA) | PADA) | ✔️ | ||
| Sortir STOOGE | ![]() | ![]() | ![]() | PADA) | |||
| Sortir Gelembung | O (n²) | PADA) | O (n²) | O (1) | ✔️ | ✔️ | |
| Sortir lingkaran | O (n log n log n) | O (n log n) | O (n log n) | O (1) | ✔️ | ||
| Sortir pengocok koktail | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | ✔️ | |
| Sortir sisir | O (n²) | O (n log n) | ![]() | O (1) | ✔️ | P adalah jumlah kenaikan | |
| Pivot cepat pivot | O (n²) | O (n log n) | O (n log n) | O (log n) | ✔️ | ||
| Jenis gnome | O (n²) | PADA) | O (n²) | O (1) | ✔️ | ✔️ | |
| Jenis aneh-bahkan | O (n²) | PADA) | O (n²) | O (1) | ✔️ | ✔️ | |
| Sortir gelembung yang dioptimalkan | O (n²) | PADA) | O (n²) | O (1) | ✔️ | ✔️ | |
| Sortir pengocok koktail yang dioptimalkan | O (n²) | PADA) | O (n²) | O (1) | ✔️ | ✔️ | |
| Jenis gnome yang dioptimalkan | O (n²) | PADA) | O (n²) | O (1) | ✔️ | ✔️ | |
| Sortir cepat | O (n²) | O (n log n) | O (n log n) | O (log n) | ✔️ | ||
| Sortir cepat 3 arah | O (n²) | PADA) | O (n log n) | O (log n) atau o (n) | ✔️ | ||
| Jenis cepat yang stabil | O (n²) | O (n log n) | O (n log n) | PADA) | ✔️ | ✔️ | |
| Time Sort | O (n log n) | PADA) | O (n log n) | PADA) | ✔️ | ||
| Sortir pohon avl | O (n log n) | PADA) | O (n log n) | PADA) | ✔️ | Dalam kasus terburuk, O (n²) saat menggunakan pohon pencarian biner dan O (n log n) saat menggunakan pohon pencarian biner yang seimbang sendiri | |
| Urutan Penyisipan Biner | O (n log n) | PADA) | O (n log n) | O (1) | ✔️ | ✔️ | |
| Siklus | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | ||
| Sort Penyisipan | O (n²) | PADA) | O (n²) | O (1) | ✔️ | ✔️ | |
| Sortir Kesabaran | O (n log n) | PADA) | O (n log n) | PADA) | ✔️ | ||
| Sortir shell | atau o (n log² n) | O (n log n) | O (n^1.25) ke o (n²) | O (1) | ✔️ | ||
| Jenis pohon | O (n²) | O (n log n) | O (n log n) | PADA) | ✔️ | Dalam kasus terburuk, O (n²) saat menggunakan pohon pencarian biner dan O (n log n) saat menggunakan pohon pencarian biner yang seimbang sendiri | |
| Urutan gabungan bottom-up | O (n log n) | O (n log n) | O (n log n) | PADA) | ✔️ | ||
| Sortir di tempat gabungan | O (n²) | O (n²) | O (n²) | O (log n) | ✔️ | ✔️ | |
| Gabungan | O (n log n) | O (n log n) | O (n log n) | PADA) | ✔️ | ||
| Jenis bitonik | O (log² n) | O (log² n) | O (log² n) | O (n log² n) | ✔️ | ||
| Jaringan berpasangan | atau o (n log n) | O (n log n) | O (n log n) | ![]() | ✔️ | Kasus terburuk adalah menggunakan waktu paralel dan kompleksitas waktu non-paralel waktu | |
| Sortir ember | O (n²) | O (n+k) | O (n+k) | O (n+k) | ✔️ | k adalah jumlah ember | |
| Menghitung jenis | O (n+k) | O (n+k) | O (n+k) | O (n+k) | ✔️ | k adalah kisaran data input | |
| Sortir gravitasi (manik) | O (s) | O (1) atau ![]() | PADA) | O (n²) | ✔️ | S adalah jumlah elemen array, O (1) tidak dapat diimplementasikan dalam praktiknya | |
| Pigeonhole Sort | O (n+n) | O (n+n) | O (n+n) | O (n+n) | ✔️ | N adalah jumlah elemen dan n adalah kisaran data input | |
| Radix LSD Sort | O (NW) | O (NW) | O (NW) | PADA) | ✔️ | W adalah lebar elemen maxumum (bit) | |
| Sortir pilihan ganda | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | Perbandingan | |
| Max Heap Sort | O (n log n) | O (n log n) | O (n log n) | O (1) | ✔️ | ||
| Min heap sort | O (n log n) | O (n log n) | O (n log n) | O (1) | ✔️ | ||
| Jenis seleksi | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | Perbandingan |