Developer Toolbox

Pengurutan cepat

Memilih satu nilai, yaitu pivot, lalu memindahkan nilai yang lebih kecil ke kirinya dan yang lebih besar ke kanannya. Lalu hal yang sama dilakukan di tiap sisi.

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

Kedalaman rekursi: 0 · paling kecil yang mungkin: 4 · terburuk: 23 menunggu pivotnya

Perbandingan Pertukaran

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 terbalik. Pivot selalu nilai terkecil atau terbesar yang tersisa, jadi satu sisi kosong dan biaya naik mendekati n².

Cara kerjanya

Di sini pivot adalah nilai terakhir dalam rentang. Dari kiri ke kanan, setiap nilai yang tidak lebih besar dari pivot ditukar ke sisi kiri. Lalu pivot diletakkan di antara kedua sisi, dan di situ ia tinggal seterusnya. Tiap sisi kemudian diurutkan dengan cara yang sama.

Kapan ini pilihan yang tepat

Salah satu cara mengurutkan tercepat dalam praktik, dan hampir tidak butuh memori tambahan. Tapi jika terus memilih pivot yang buruk, misalnya pada daftar yang sudah terurut, ia jadi lambat. Versi sungguhan memilih pivot dengan lebih hati-hati.