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 [[Représentation des images matricielles|à la main en PNM]], soit en utilisant la [[Manipulation d’images|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 [[https://fr.wikipedia.org/wiki/Tri_à_bulles|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.