Je suis en train d'apprendre en autodidacte la 3e édition du CLRS et voici l'une des questions les plus difficiles que j'ai rencontrées. ainsi que sa réponse au service de tous.
7.4-5 Nous pouvons améliorer le temps d'exécution du tri sélectif dans la pratique en tirant parti de l'option du temps d'exécution rapide du tri par insertion lorsque son entrée est "presque" triée. Lors de l'appel de quicksort sur un sous-réseau contenant moins de k
qu'il renvoie simplement sans trier le sous-réseau. Après le retour de l'appel de niveau supérieur au tri sélectif, exécutez le tri par insertion sur l'ensemble du tableau pour terminer le processus de tri. Argumentez que cet algorithme de tri s'exécute en O(nk+nlg(n/k))
délai prévu. Comment choisir k
tant en théorie qu'en pratique et en pratique ?