Skip to content

Analyse de performance

Énoncé

Dans ce mini projet nous allons mesurer et analyser la performance de différentes implémentations d'une fonction de suppression dans une liste chaînée. Le sujet est volontairement peu spécifié afin que nous puissions prendre des initiatives.

Pour commencer, on implémentera les trois fonctions suivantes avec les fonctions et classes annexes nécessaires. On peut bien sûr réutiliser du code déjà développé dans les mini projets précédents.

  • suppression d'un élément en queue d'une liste simplement chaînée ;

  • suppression d'un élément en queue d'une liste doublement chaînée ;

  • suppression en queue d'une deque disponible dans le module standard collections dont la documentation est disponible ici ainsi que dans l'interpréteur interactif grâce à la commande help.

Ensuite, nous développerons le code permettant de mesurer le temps qu'il faut à chacune de ces fonctions pour faire un nombre donné de suppressions. Nous nous référerons à l'exercice le temps qui passe du chapitre précédent accessible ici pour la mesure du temps.

Enfin, nous analyserons les performances de chacune des trois implémentations en essayant de mettre en regard les résultats observés avec ce que nous pensions. Pour cela, il est demandé d'afficher les résultats sous forme graphique à l'aide de la bibliothèque matplotlib très largement utilisée dans la communauté Python pour dessiner des graphes.

Exercices