Structures de données et algorithmes
Dans le tri fusion, on fusionne les deux séquences triées 1, 4, 7, 9 et 2, 3, 8, 10 en une seule en comparant de façon répétée leurs éléments de tête et en sortant le plus petit. Quand une séquence est vide, le reste de l'autre est sorti sans comparaison. Combien de comparaisons sont effectuées ?
- A4
- B7
- C8
Afficher la réponse et l'explication
Réponse : B. 7
Les comparaisons sont 1 contre 2, 4 contre 2, 4 contre 3, 4 contre 8, 7 contre 8, 9 contre 8 et 9 contre 10 ; à ce stade, la première séquence est vide et le 10 restant est sorti sans comparaison. Cela fait 7 comparaisons, le maximum m + n − 1 = 7 pour la fusion de séquences de longueurs m et n. Une fusion n'examine qu'une fois chaque élément des séquences triées et prend donc un temps en O(m + n) ; comme le tri fusion répète cette opération sur log₂ n niveaux, le tri complet prend un temps en O(n log n).
Continuer : 9 autres questions sur Structures de données et algorithmes