Structures de données et algorithmes

On trie par ordre croissant le tableau 29, 10, 14, 37, 13 avec le tri par sélection, qui cherche le minimum de la partie non triée et l'échange avec le premier élément de cette partie. Quel est le tableau après deux répétitions de cette étape ?

  1. A10, 13, 14, 37, 29
  2. B10, 14, 29, 37, 13
  3. C10, 14, 13, 29, 37
Afficher la réponse et l'explication

Réponse : A. 10, 13, 14, 37, 29

La première étape échange le minimum global, 10, avec 29 en tête, ce qui donne 10, 29, 14, 37, 13. La deuxième étape échange 13, le minimum à partir du deuxième élément, avec 29 en deuxième position, ce qui donne 10, 13, 14, 37, 29. Le tri par sélection effectue toujours n(n−1)/2 comparaisons, mais au plus un échange par étape, ce qui peut être un avantage quand les écritures coûtent cher. 10, 14, 29, 37, 13 est le tableau après l'insertion de deux éléments par le tri par insertion, et 10, 14, 13, 29, 37 le tableau après deux passes du tri à bulles.

S'entraîner sur ce thème Retour au thème

Autres questions sur Structures de données et algorithmes

  1. On trie par ordre croissant un tableau de 10 éléments avec le tri par insertion. Chaque élément à partir du deuxième est extrait et comparé aux éléments situés à sa gauche, en commençant par son voisin de gauche, jusqu'à trouver un élément inférieur ou égal ou jusqu'à atteindre le début. Combien de comparaisons sont effectuées quand le tableau est déjà dans l'ordre croissant, et quand il est dans l'ordre décroissant ?
  2. Quel algorithme de tri a une complexité temporelle en O(n log n) même dans le pire cas et trie presque sans mémoire supplémentaire, comme un tableau de travail ?
  3. Les enregistrements (nom, note) (A, 80), (B, 70), (C, 80), (D, 70) sont dans cet ordre. Si on les trie par note croissante avec un tri stable, dans quel ordre les noms apparaissent-ils ?
  4. Quel est le cas typique dans lequel la complexité temporelle du tri rapide devient O(n²) ?
  5. 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 ?