From 0c2bdf65206900836066ca55abbc4307e074d780 Mon Sep 17 00:00:00 2001
From: david <david@lipn.fr>
Date: Thu, 10 Sep 2020 12:53:44 +0200
Subject: [PATCH] =?UTF-8?q?tp4=20=C3=A0=20valider?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .gitlab-ci.yml |  6 +++---
 README.md      | 47 ++++++++++++++++++++---------------------------
 2 files changed, 23 insertions(+), 30 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d9abd2c..b439bb2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,10 +8,10 @@ sda:test:
    - echo "Exercice 1"
    - ls -lF AUTHORS.md
    - echo "Exercice 2"
-   - ls -lF plots/fixed_binary_heap_*_increasing.pdf
-   - ls -lF plots/fixed_binary_heap_*_decreasing.pdf
-   - ls -lF plots/fixed_binary_heap_*_random.pdf
+   - ls -lF plots/fixed_binary_heap_extract_*.pdf
    - echo "Exercice 3"
+   - ls -lF plots/dynamic_binary_heap_*.pdf
+   - echo "Exercice 4"
    - ls -lF RAPPORT.md
    
 
diff --git a/README.md b/README.md
index 5e7707e..8f36e99 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Sujet de TP 3: Tas Binaire
+# Sujet de TP 4: Tas Binaire, suite
 
 ## Règles pour ce semestre
 
@@ -15,51 +15,44 @@ 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.
 
-## Exercice 1: Tas binaire borné
+## Exercice 1: Tas binaire avec extraction
+
 
 Le nom de votre branche est constitué de vos numéros d'étudiants séparés par un _
 
-`git checkout -b tp3_NUMERO1_NUMERO2`
+`git checkout -b tp4_NUMERO1_NUMERO2`
 
 Rajouter le fichier `AUTHORS.md` avec vos noms, prénoms et numéros d'étudiants.
 
-Développez une structure/classe de tas binaire dans laquelle le tableau servant
-à stocker les clés est de taille fixe. Cette taille est fixée à la création du tas. Si
-l’utilisateur tente d’ajouter une valeur dans un tas plein, un programme en C
-affichera une erreur et un programme en C++, Python ou Java jettera une exception. La
-structure de tas permettra au moins d’ajouter une clé, et d’extraire la plus petite
-clé contenu dans le tas.
-Pour chaque opération, on veut pouvoir récupérer le nombre d'échanges que la fonction a effectué.
-
+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.
 
 ## Exercice 2: Benchmark
 
 Effectuez des expériences sur l’efficacité en temps et en mémoire de cette structure :
 
-- dans le cas où l’on ne fait qu’ajouter des clés dans l’ordre croissant,
-- dans le cas où l’on ne fait qu’ajouter des clés dans l’ordre décroissant,
-- dans le cas où l’on ne fait qu’ajouter des clés aléatoires.
+- 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`.
 
-Inspirez vous des expériences menées sur les tableaux dynamiques. Attention, pour
-chaque expérience, vous devez impérativement écrire de nouvelles fonctions `main`
-dans de nouveaux fichiers et sauvegarder les différents fichiers `pdf` que vous ob-
-tenez grâce à vous expériences. 
+Les noms des fichiers pdf seront de la forme `fixed_binary_heap_extract_MESURE_LANGAGE.pdf`
 
-Les noms des fichiers pdf seront de la forme `fixed_binary_heap_MESURE_LANGAGE_ORDRE.pdf`
+## Exercice 3: Tas binaire dynamique
 
-### Exemple:
+Modifier la structure de tas binaire en remplacant le tableau de taille fixe par un tableau dynamique.
 
-Pour la mesure du temps amorti de l'ajout d'un élément dans l'ordre croissant en `C`,
-le fichier de sortie sera `fixed_binary_heap_amortized_time_C_INCREASING.pdf`
+Relancer toutes les expériences faites sur les tas binaires de taille fixe sur les tas binaires dynamiques.
 
-On a donc:
-- MESURE peut valoir \{ amortized_time, wasted_memory, swap \}. 
-- LANGAGE peut valoir \{ C, CPP, Java, Python\}
-- ORDRE peut valoir \{ increasing, descrasing, random\}
+Vous devez impérativement créer un programme distinct pour chaque expérience.
 
-## Exercice 3: 
+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 ?
 
 A RENDRE AVANT DIMANCHE!
\ No newline at end of file
-- 
GitLab