Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
......@@ -4,15 +4,27 @@
## Problème
Description du Problème.
Description du Problème :
Description de tous les paramètres exploratoires du problème
Nous allons implémenter 3 opérations communes à différentes structures de données (tableaux, LinkedList et ArrayList) et comparer leurs performances avec leur implémentation standard.
Nous avons choisi d'utiliser le language objet java.
Proposition d'opérations :
- Ajout d'un élement à une certaine position (n'exite pas pour les tableaux standards, add() pour les LinkedList / ArrayList)
- Suppression d'un élement à une certaine position(n'existe pas pour les tableaux standards, remove() pour les LinkedList / ArrayList)
- Accès d'un élement à une certaine position(tab[position] pour les tableaux, get() pour les LinkedList / ArrayList)
## Dispositif expérimental
### Organisation objet
Description de l'organisation des classes et interfaces, ou diagramme de classes.
![](UML/diagramme.svg)
Toutes les structures de données vont implémenter une Interface *"Struture"* que nous allons créer et qui contiendra les opérations choisies.
Dans le package **Standard**, nous appelerons juste les bonnes méthodes déja présentes dans les libraires standards et dans
le package **Perso** nous réimplementerons par nous même ces opérations.
### Application
......
UML/diagramme.png

183 KiB

This diff is collapsed.
This diff is collapsed.
Compilation :
(dossier avec sources)
javac ./*.java
cd ..
java nomDossier.nomClasseMain
R
perf <- read.csv("perf.csv")
perf <- read.csv("perfAddStructDebut.csv")
library(ggplot2)
Comparaison LinkedList perso / standard :
CPU : ggplot(perf, aes(x=Taille,y=CPU, color=as.character(Version))) + geom_point() + geom_smooth(aes(group=Version)) + scale_color_discrete(name="Version") + ggtitle("Consommation CPU en fonction de la taille")
Mem : ggplot(perf, aes(x=Taille,y=Mem, color=as.character(Test))) + geom_point() + geom_smooth(aes(group=Test)) + scale_color_discrete(name="Test")
Comparaison LinkedListStd / ArrayListStd :
CPU : ggplot(perf, aes(x=NbOperations,y=CPU, color=as.character(Version))) + geom_point() + geom_smooth(aes(group=Version)) + scale_color_discrete(name="Version") + ggtitle("Consommation CPU pour ajout en tete de liste")
Mem : ggplot(perf, aes(x=NbOperations,y=Mem, color=as.character(Version))) + geom_point() + geom_smooth(aes(group=Version)) + scale_color_discrete(name="Version") + ggtitle("Consommation Memoire pour ajout en tete de liste") + expand_limits(y=0)
java ../P4A/src/main.MainArrayListStd 1500
\ No newline at end of file
graphiques/CPU_Linked_Array_List_Ajout_Debut_Liste.png

110 KiB

graphiques/LinkedListCPU.png

116 KiB

graphiques/Linked_Array_List_Ajout_Debut_Liste.png

260 KiB

graphiques/Mem_Linked_Array_List_Ajout_Debut_Liste.png

104 KiB