Developer Toolbox

Pengurutan gabung

Membagi daftar menjadi dua, mengurutkan tiap separuh, lalu menggabungkan keduanya menjadi satu daftar terurut.

  • Ω(n log n)
  • Θ(n log n)
  • O(n log n)
  • O(n)
  • ya
  • tidak
  • dibandingkan
  • dipindahkan
  • di posisi akhir
0 / 263 langkah

↓ bagi ↓ gabung Penggabungan selesai: 0 dari 23

Perbandingan Penulisan

Tekan putar: garis menunjukkan pertumbuhan biaya selama pengurutan

Tekan putar atau jalankan langkah demi langkah.

Spasi: putar atau jeda. Panah kiri dan kanan: melangkah. Home dan End: lompat.

Coba ini: Pilih daftar dengan banyak nilai sama. Jika dua nilai sama, yang dari separuh kiri diambil lebih dulu, jadi urutan nilai yang sama tetap.

Cara kerjanya

Terus bagi daftar sampai tiap potongan berisi satu nilai, yang pasti sudah terurut. Lalu gabungkan potongan itu berpasangan: bandingkan nilai pertama dari kedua potongan dan ambil yang lebih kecil, terus begitu. Baris yang terangkat di animasi adalah memori tambahan yang dipakai saat menggabungkan.

Kapan ini pilihan yang tepat

Saat Anda butuh kecepatan yang tetap baik bahkan di kasus terburuk, dan nilai yang sama harus tetap pada urutan semula. Python dan Java sama-sama memakai versi pengurutan gabung. Kelemahannya adalah memori tambahan yang dibutuhkan.