Anda melewatkan teks-teks ini yang berbicara tentang " run time expected case terburuk ", bukan "runtime kasus terburuk".
Mereka sedang mendiskusikan implementasi Quicksort yang melibatkan elemen acak. Biasanya Anda memiliki algoritma deterministik, yaitu algoritma yang untuk input yang diberikan akan selalu menghasilkan langkah yang sama persis. Untuk menentukan "runtime kasus terburuk", Anda memeriksa semua input yang mungkin, dan memilih salah satu yang menghasilkan runtime terburuk.
Tetapi di sini kita memiliki faktor acak. Diberikan beberapa input, algoritma tidak akan selalu melakukan langkah yang sama karena beberapa keacakan terlibat. Alih-alih memiliki runtime untuk setiap input tetap, kami memiliki "runtime yang diharapkan" - kami memeriksa setiap nilai yang mungkin dari keputusan acak dan probabilitasnya, dan "runtime yang diharapkan" adalah rata-rata tertimbang dari runtime untuk setiap kombinasi keputusan acak , tetapi masih untuk input tetap.
Jadi kami menghitung "runtime yang diharapkan" untuk setiap input yang mungkin, dan untuk mendapatkan "runtime yang diharapkan terburuk", kami menemukan satu input yang mungkin di mana runtime yang diharapkan adalah yang terburuk. Dan ternyata mereka menunjukkan bahwa kasus terburuk untuk "runtime yang diharapkan" hanyalah O (n log n). Saya tidak akan terkejut jika hanya mengambil pivot pertama secara acak akan mengubah kasus terburuk yang diharapkan runtime menjadi o (n ^ 2) (sedikit o alih-alih Big O), karena hanya beberapa dari n pivot akan mengarah ke kasus terburuk tingkah laku.