Structures de données et algorithmes
Quel est le cas typique dans lequel la complexité temporelle du tri rapide devient O(n²) ?
- ALes données sont dans un ordre aléatoire et le pivot est choisi au hasard
- BLe nombre de données est une puissance de deux
- CLes données sont déjà triées et le premier élément est toujours pris comme pivot
Afficher la réponse et l'explication
Réponse : C. Les données sont déjà triées et le premier élément est toujours pris comme pivot
Le tri rapide répartit les éléments entre ceux qui sont plus petits et ceux qui sont plus grands que le pivot, puis découpe à nouveau chaque partie. Si les données sont déjà triées et que le premier élément est toujours le pivot, celui-ci est à chaque fois le minimum et chaque découpage est déséquilibré, avec zéro élément d'un côté et tout le reste de l'autre : le tri effectue alors n(n−1)/2 comparaisons (4950 pour n = 100). Choisir le pivot au hasard ou comme médiane de trois valeurs rend une longue suite de découpages déséquilibrés extrêmement improbable. Le nombre de données n'a aucune incidence sur la complexité temporelle.
Continuer : 9 autres questions sur Structures de données et algorithmes