Le tri est un problème très classique de réorganisation des données (qui peuvent être comparées, par exemple des nombres entiers, des nombres à virgule flottante, des chaînes de caractères, etc.) d’un tableau (ou d’une liste) dans un certain ordre (croissant, non décroissant, décroissant, non croissant, lexicographique, etc.)
Il existe de nombreux algorithmes de tri différents, chacun ayant ses propres avantages et limites.
- Algorithme de tri à bulles,
- Algorithme de tri par insertion,
- Algorithme de tri de la sélection,
- Algorithme de tri de fusion,
- Algorithme de tri rapide.
L’efficacité d’un algorithme se traduit par le nombre d’étapes nécessaires pour accomplir une tâche.
Pour les algorithmes de tri ( (ou Sort Algorithm).) l’efficacité d’un algorithme n’est pas seulement basée sur l’algorithme lui-même mais aussi sur la liste des données à trier. Certains algorithmes, par exemple, seront plus efficaces que d’autres sur de petites listes, mais pas sur de grandes listes. Certains algorithmes seront plus efficaces que d’autres si les données sont déjà presque triées. Certains algorithmes tels que l’algorithme de tri par fusion seront plus efficaces dans un environnement de traitement simultané car ils utilisent une approche de type “diviser pour mieux régner“.
Vous pouvez lire toute la théorie du monde sur les algorithmes de tri, mais voir ces structures en action peut vraiment vous faire avancer. Si vous êtes le genre de programmeur qui apprend mieux avec des images plutôt qu’avec des mots, consultez VisualAlgo
Avec VisualAlgo, vous pouvez créer votre propre liste de nombre et visualiser simultanément le résultat du tri et l’évolution étape par étape de l’algorithme de tri (ou Sort Algorithm).
VisualAlgo est un outil de visualisation d’algorithmes
VisualAlgo est un outil de visualisation d’algorithmes basé sur le web sans qu’il soit nécessaire d’installer un logiciel supplémentaire.
Il utilise les dernières technologies web : HTML5, CSS3, JavaScript.
Il permet aux utilisateurs de spécifier leurs propres entrées d’algorithme et la visualisation fonctionnera sur avec ces entrées. Il s’agit d’une collection de visualisations d’algorithmes avec une interface unifiée.
La visualisation est très efficace pour comprendre l’algorithme, et il en va de même pour comprendre la visualisation du programme. Ainsi, au fur et à mesure que la compréhension des algorithmes et de la programmation progresse, le site “VisualAlgo” permet d’apprendre simultanément les algorithmes et la programmation en visualisant le code du programme qui décrit l’algorithme en une seule fois.
Le site est interactif, vous pouvez donc choisir ou insérer des éléments dans la collection d’exemples et de regarder comment elle fonctionne visuellement.
Le coin supérieur gauche fournit généralement une explication de ce qui se passe, tandis qu’un pseudo-code apparaît en bas à droite.
C’est un très bon outil pour visualiser les concepts de structure de données et les algorithmes.
Pour aller plus loin
Pour approfondir cette notion, et développer vos compétences vous pouvez consulter cette ouvrage.