Dans leur livre Randomized Algorithms , Motwani et Raghavan ouvrent l'introduction avec une description de leur fonction RandQS - Randomized quicksort - où le pivot, utilisé pour partitionner l'ensemble en deux parties, est choisi au hasard.
J'ai accumulé mes cerveaux (certes un peu sous-alimentés) pendant un certain temps, mais je n'ai pas pu voir quel avantage cet algorithme a par rapport au simple choix, disons, de l'élément central (en index, pas en taille) à chaque fois.
Je suppose que ce que je ne vois pas est le suivant: si l'ensemble initial est dans un ordre aléatoire, quelle est la différence entre choisir un élément à un endroit aléatoire dans l'ensemble et choisir un élément à une position fixe?
Quelqu'un peut-il m'éclairer, en termes assez simples?