HOUBA Léo NSI


Le programme commence par une importation de modules, permettant par la suite de réaliser le programme, comme avec le module matplotlib.pyplot pour créer le graphique qui représentera les résultats obtenus
Créations de listes vides pour la suite du programme
La fonction "création de liste va créer 1000 éléments qui prendront une valeur aléatoire entre 1 et 100, ce qui nous aidera fortement par la suite

Le tris sort et sorted sont définis dans ces fonctions jumelles grâce aux deux variables : "t1" et "t2" qui sont 2 temps réalisé par l'ordinateur.
Puis on va effectuer la différence de ces 2 temps et affecter le résultat à la variable "duree" afin d'obtenir le ΔT, que nous allons ajouter dans les listes précédemment créer le bon ΔT pour vhaque tris : sort dans resultats_sort et sorted dans resultats_sorted

Ici nous définissons le tri par insertion. Ce tri permet comme son nom l'indique de trier des valeurs mais grâce à une méthode propre à elle, en effet Le tri par insertion considère chaque élément du tableau et l'insère à la bonne place parmi les éléments déjà triés. Ici le calcul du temps du tri est directement dans ma fonction, le temps que met l'ordinateur sur ce tri varie car le temps d'exécution dépend non seulement de la longueur de la liste à trier, mais aussi de l'ordre des nombres.
Ici, je vais vous présenter le tri par sélection ainsi que le calcul de la durée de son exécution, séparé cette fois-ci. Le tri par sélection est dit comme le tri par comparaison, car tout le long du programme il va chercher le minimum de la liste afin de classer les éléments. Quant à son calcul il s'effectue comme pour les fonctions sort et sorted précédemment vu.

La boucle répété 10 fois ici appeler les fonctions ainsi que de les remélanger.
Les commentaires ici présents m'ont aidés à tester le programme
Puis cette dernière fonction va permettre de tracer le graphique qui nous affichera le temps de chaque trie avec une couleur et une légende différente attribué à chacun.
Le résultat obtenu ci-dessous dans la console nous prouve donc que le programme fonctionne bien, les 4 listes crées sont ici pour tester que le programme fonctionne bien, car sinon nous pouvons nous en dispenser.
La première liste correspond au tri sorted, la deuxième au tri sorted, la troisième au tri par insertion, et enfin la quatrième correspond au tri par sélection.

Ici, on retrouve une erreur dans le programme qui m'a longuement posé soucis dans la réalisation de mon projet.
Ce problème est lié à un mauvais remplissage des tableaux, comme l'explique bin le message d'erreur ci-dessous,
en effet le problème se situé au niveau des x et des y.
Cette erreur me vient probablement d'un site internet sur lequel j'avais tenté de copier un programme.

Ci-dessous ce trouve le graphique final de mon projet, on peut remarquer que les tris sorted et sorted tendent vers 0 car leurs durées de tri sont bien plus rapides que les tris par insertion et par sélection qui semblent avoir un temps de tri similaire
