DUT Info Structures de donn´ ees et algorithmes fondamentaux 2020–2021
TP 1 - Complexit´ e
L’objectif de ce TP est de comparer les performances de divers algorithmes en th´ eorie et en pratique dans des cas simples. Pour ce faire, outre les complexit´ es, il faut ´ egalement tester les programmes sur des donn´ ees suffisamment grandes. Prenez garde cependant ` a commencer par de petites valeurs, pour d´ etecter d’une part ` a partir d’o` u on commence ` a observer des diff´ erences, et pour ´ eviter d’autre part de planter votre machine.
Pr´ erequis: R´ ecup´ erez sur la page du cours le fichier complexite_matplotlib.py.
Ce fichier contient une fonction tracer(nom_fichier, *listes_et_titres), que vous utiliserez tout au long du TP et que vous rendrez une fois compl´ et´ e apr` es l’avoir renomm´ e.
Cette fonction prend en param` etres un nom de fichier, des listes de donn´ ees et des titres (sans caract` eres sp´ eciaux (’, “, ...)), et a pour effet de:
1. tracer
1un graphique comportant une courbe par jeu de donn´ ees, en associant ` a chaque courbe le titre qui suit les donn´ ees;
2. sauver ce graphique sous la forme d’une image nomm´ ee nom_fichier.png dans le r´ epertoire contenant complexite.py.
Le graphique ci-dessous, par exemple, a ´ et´ e produit ` a l’aide de l’instruction:
tracer("essai", [0, 1, 4, 9, 16, 25, 36, 49, 64, 81], "x^2", [0, 1, 8, 27, 64, 125, 216, 343, 512, 729], "x^3")
1