Carge sorting adalah algoritme pengurutan berbasis perbandingan yang populer yang dikenal karena efisiensi dan kinerja yang dapat diprediksi. Memahami bagaimana menghitung jumlah perbandingan yang dibuatnya dapat membantu mengoptimalkan implementasinya dan menganalisis kinerjanya dalam skenario yang berbeda.

Konsep Dasar Konsep Cantuman Jenis

Cantuman keingenan membagi suatu array menjadi subarray yang lebih kecil, urutkan setiap subarray, dan kemudian gabungkan kembali bersama-sama.Operasi inti melibatkan membandingkan elemen selama proses penggabungan, yang menentukan jumlah total perbandingan yang dibuat.

Menghitung Komparis pada Masa Menggabungkan

Selama gabung langkah, perbandingan terjadi ketika memilih unsur yang lebih kecil dari dua subarray yang diurutkan. Untuk setiap pasangan elemen dibandingkan, satu perbandingan dihitung. Jika subarray memiliki ukuran n1] dan n2], jumlah maksimum perbandingan yang diperlukan untuk menggabungkannya adalah n1 + n2 - 1].

Perbandingan Total yang Menganggarkan

Jumlah perbandingan jumlah total arig dalam urut gabung dapat dianggarkan dengan menganalisis setiap operasi penggabungan di seluruh semua tingkat rekursi. Untuk sebuah array ukuran n, perbandingan total adalah kira-kira:

  • [[GALAL:0]]n log2 n dalam rata-rata dan kasus terburuk.
  • Setiap tingkat rekursi mencakup penggabungan subarray, dengan perbandingan total yang dijumlahkan di semua tingkat.
  • Angka perbandingan per level doubles per level saat subarray membesar.

Metode Penghitungan Praktis

Untuk menghitung perbandingan secara praktis, simulasikan proses penggabungan atau gunakan rekursif reaction relation:

[[CALT:0]]C(n) = C( ⁇ n/2 ⁇ ) + C( ⁇ n/2 ⁇ ) + (n - 1)[

phybio di mana C(n)[ adalah perbandingan total untuk sebuah array ukuran n[. Rekursif ini merupakan akun formula untuk perbandingan dalam subarray dan selama penggabungan.