Te faltabas que estos textos hablaran del "peor tiempo de ejecución esperado ", no del "peor tiempo de ejecución".
Están discutiendo una implementación de Quicksort que involucra un elemento aleatorio. Normalmente tiene un algoritmo determinista, que es un algoritmo que para una entrada dada siempre producirá exactamente los mismos pasos. Para determinar el "peor tiempo de ejecución", examine todas las entradas posibles y elija la que produce el peor tiempo de ejecución.
Pero aquí tenemos un factor aleatorio. Dada alguna entrada, el algoritmo no siempre realizará los mismos pasos porque hay algo de aleatoriedad involucrado. En lugar de tener un tiempo de ejecución para cada entrada fija, tenemos un "tiempo de ejecución esperado": verificamos cada valor posible de las decisiones aleatorias y su probabilidad, y el "tiempo de ejecución esperado" es el promedio ponderado del tiempo de ejecución para cada combinación de decisiones aleatorias , pero aún para una entrada fija.
Por lo tanto, calculamos el "tiempo de ejecución esperado" para cada entrada posible, y para obtener el "tiempo de ejecución esperado en el peor de los casos", encontramos la única entrada posible donde el tiempo de ejecución esperado es peor. Y aparentemente mostraron que el peor de los casos para el "tiempo de ejecución esperado" es simplemente O (n log n). No me sorprendería si solo elegir el primer pivote al azar cambiaría el tiempo de ejecución esperado del peor de los casos a o (n ^ 2) (pequeño o en lugar de Big O), porque solo unos pocos de n pivotes conducirán al peor de los casos comportamiento.