Dalam buku mereka Randomized Algorithms , Motwani dan Raghavan membuka pengantar dengan deskripsi fungsi RandQS mereka - Randoms quicksort - di mana pivot, yang digunakan untuk mempartisi himpunan menjadi dua bagian, dipilih secara acak.
Saya telah memeras otak saya (diakui agak kurang bertenaga) atas hal ini selama beberapa waktu, tetapi saya belum dapat melihat keuntungan apa yang dimiliki algoritme ini hanya dengan memilih, katakanlah, elemen tengah (dalam indeks, bukan ukuran) setiap kali.
Saya kira apa yang tidak bisa saya lihat adalah ini: jika set awal dalam urutan acak, apa perbedaan antara memilih elemen di lokasi acak di set dan memilih elemen pada posisi tetap?
Bisakah seseorang mencerahkan saya, dalam istilah yang cukup sederhana?
sumber
Seperti dicatat oleh Jernej, asumsi bahwa semua permutasi dari input sama kemungkinan tidak selalu berlaku dalam kenyataan. Gagasan pertama mungkin untuk mengubah array input. Ini akan berhasil, tetapi lebih mudah untuk menganalisis situasi di mana pivot dipilih secara acak. Ini juga dikenal sebagai pengambilan sampel acak .
sumber