Newer
Older
## Règles pour ce semestre
Vous travaillerez en binôme durant les TPs. Il ne sera pas possible de changer
de binôme en cours de semestre.
Il est interdit de partager du code avec d'autres binômes ou de "s'en inspirer".
Toute ressemblance suspecte sera AUTOMATIQUEMENT considérée comme de la fraude
et sévèrement sanctionnée.
Chaque semaine, un rendu vous sera demandé (vous aurez jusqu'au dimanche soir pour
rendre le TP si vous ne finissez pas à temps) via gitlab.
Vos travaux seront évalués une fois à mi-semestre et une fois à la fin du semestre.
Le nom de votre branche est constitué de vos numéros d'étudiants séparés par un _
Rajouter le fichier `AUTHORS.md` avec vos noms, prénoms et numéros d'étudiants.
Modifier la strcture de tas pour pouvoir extraire la clé de plus petite valeur.
On voudra connaître le nombre d'échanges effectués par cette opération.
Effectuez des expériences sur l’efficacité en temps et en mémoire de cette structure :
- dans le cas où l'on ajoute une valeur aléatoire avec un probabilité `p` et on extrait
la clé de valeur minimale avec probabilité `1-p`.
Les noms des fichiers pdf seront de la forme `fixed_binary_heap_extract_MESURE_LANGAGE.pdf`
Modifier la structure de tas binaire en remplacant le tableau de taille fixe par un tableau dynamique.
Relancer toutes les expériences faites sur les tas binaires de taille fixe sur les tas binaires dynamiques.
Vous devez impérativement créer un programme distinct pour chaque expérience.
Le nom des fichiers `pdf` commencera par `dynamic_binary_heap_*`
## Exercice 4:
Commentez le resultat de vos expériences dans un fichier `RAPPORT.md`
- Que se passe t-il lorsque l'on ajoute des opérations de suppression? En temps? En mémoire?
- La complexité amortie des opérations d’ajout et de suppression/extraction a t-elle changé sur les expériences
utilisant un tableau dynamique ? Pourquoi ?