L’objectif est de visualiser les étapes successives d’un algorithme de tri. Pour la visualisation à proprement parler, vous aurez besoin de savoir générer des images matricielles, soit à la main en PNM, soit en utilisant la bibliothèque Pillow.
Par ailleurs, avant d’attaquer, il faut au moins maîtriser:
l’utilisation des modules (import);
- les bases des algorithmes de tri.
Prélude
Écrivez une fonction valeurs(nombre) qui génère une liste de valeurs aléatoires entre 0 et 255.
Vous aurez besoin de la fonction randint du module random.
Trier avec des bulles
Implémentez le tri à bulles.
Écrivez ensuite une fonction voir_bulles(liste) qui partant d’une liste de n valeurs à trier, construit une image de largeur n : chaque ligne représente une étape de l’algorithme de tri, en associant par exemple à chaque valeur x un pixel (x,255-x,0).
Combien de lignes faut-il prévoir ?
D’autres tris
Faites le même travail pour le tri par sélection et/ou par insertion.