diff --git a/TP2/Rplots.pdf b/TP2/Rplots.pdf
index c997f9a923ef15280b2b1a8c9387cbb53bcf1b3a..90a59a802986be5dab643963e80dfe273326847f 100644
Binary files a/TP2/Rplots.pdf and b/TP2/Rplots.pdf differ
diff --git a/TP2/fusion.R b/TP2/fusion.R
index b64e5b999066f2b30b92b715ac3a4b8cb362e1d4..26d75eb2675cf8d2dbb0e1b152c929743f4989c5 100755
--- a/TP2/fusion.R
+++ b/TP2/fusion.R
@@ -4,4 +4,4 @@ ggplot(perf, aes(x=taille, y=temps, group=typeTableau, colour=as.character(algo)
 geom_point() + geom_smooth() +
  ggtitle("Graphes Comparaison Algos")
 
-ggsave("graphe.png")
+ggsave("grapheFusion.png")
diff --git a/TP2/fusion.dat b/TP2/fusion.dat
index 74a6b54647f1c86eeab5732e2bb8e854514ae4f5..63bf1354f9ca1df0e6b7f2f9932b2573743758ba 100755
--- a/TP2/fusion.dat
+++ b/TP2/fusion.dat
@@ -1,81 +1,4 @@
 iTest	taille	temps	mem	algo	typeTableau
-1	1000000	0.27	16912	f	a
-1	1030000	0.28	17412	f	a
-1	1000000	0.18	16708	f	r
-1	1030000	0.22	17408	f	r
-1	1000000	0.22	16896	f	i
-1	1030000	0.21	17316	f	i
-1	1000000	0.20	16920	f	c
-1	1030000	0.20	17332	f	c
-2	1000000	0.29	16720	f	a
-2	1030000	0.29	17332	f	a
-2	1000000	0.21	16896	f	r
-2	1030000	0.20	17324	f	r
-2	1000000	0.20	16896	f	i
-2	1030000	0.22	17412	f	i
-2	1000000	0.19	16896	f	c
-2	1030000	0.20	17484	f	c
-3	1000000	0.29	16624	f	a
-3	1030000	0.30	17324	f	a
-3	1000000	0.20	16912	f	r
-3	1030000	0.21	17368	f	r
-3	1000000	0.21	16832	f	i
-3	1030000	0.21	17356	f	i
-3	1000000	0.19	16912	f	c
-3	1030000	0.21	17344	f	c
-4	1000000	0.27	16868	f	a
-4	1030000	0.28	17400	f	a
-4	1000000	0.19	16816	f	r
-4	1030000	0.20	17400	f	r
-4	1000000	0.20	16916	f	i
-4	1030000	0.22	17364	f	i
-4	1000000	0.21	16904	f	c
-4	1030000	0.21	17364	f	c
-5	1000000	0.29	16724	f	a
-5	1030000	0.27	17484	f	a
-5	1000000	0.19	16656	f	r
-5	1030000	0.21	17404	f	r
-5	1000000	0.20	16848	f	i
-5	1030000	0.20	17364	f	i
-5	1000000	0.21	16904	f	c
-5	1030000	0.21	17484	f	c
-6	1000000	0.28	16848	f	a
-6	1030000	0.28	17400	f	a
-6	1000000	0.23	16868	f	r
-6	1030000	0.22	17348	f	r
-6	1000000	0.20	16920	f	i
-6	1030000	0.24	17392	f	i
-6	1000000	0.21	16896	f	c
-6	1030000	0.23	17312	f	c
-7	1000000	0.30	16796	f	a
-7	1030000	0.30	17324	f	a
-7	1000000	0.20	16668	f	r
-7	1030000	0.20	17224	f	r
-7	1000000	0.20	16904	f	i
-7	1030000	0.22	17396	f	i
-7	1000000	0.20	16904	f	c
-7	1030000	0.22	17360	f	c
-8	1000000	0.27	16920	f	a
-8	1030000	0.30	17364	f	a
-8	1000000	0.19	16920	f	r
-8	1030000	0.23	17404	f	r
-8	1000000	0.23	16628	f	i
-8	1030000	0.23	17368	f	i
-8	1000000	0.22	16664	f	c
-8	1030000	0.21	17404	f	c
-9	1000000	0.30	16984	f	a
-9	1030000	0.29	17404	f	a
-9	1000000	0.22	16864	f	r
-9	1030000	0.21	17412	f	r
-9	1000000	0.20	16904	f	i
-9	1030000	0.22	17356	f	i
-9	1000000	0.20	16824	f	c
-9	1030000	0.21	17404	f	c
-10	1000000	0.27	16796	f	a
-10	1030000	0.28	17400	f	a
-10	1000000	0.22	16824	f	r
-10	1030000	0.21	17416	f	r
-10	1000000	0.21	16824	f	i
-10	1030000	0.21	17404	f	i
-10	1000000	0.21	16604	f	c
-10	1030000	0.22	17480	f	c
+1	100000	37.18	8204	r	r
+1	200000	Command terminated by signal 11
+129.38	10880	r	r
diff --git a/TP2/fusion.sh b/TP2/fusion.sh
index 3e08a330c1da7a431767ce4c1e8f4abdbc06e445..1c1fc1d738ebfaa76ca2b8957d7a1d29da33a91c 100755
--- a/TP2/fusion.sh
+++ b/TP2/fusion.sh
@@ -10,12 +10,12 @@ do
   #taille=$(( `od -An -N4 -tu < /dev/urandom` % 1000000))
   #taille=1000000
 
-  for algo in 'f'
+  for algo in 'r' 'f'
   do
 
-    for typeTableau in 'a' 'r' 'i' 'c'
+    for typeTableau in 'r'
       do
-        for taille in 1000000 1030000
+        for taille in 100000 200000 300000
           do
             res=`( /usr/bin/time -f "%U\t%M" ./main $algo $taille $typeTableau $affichage > /dev/null ) 2>&1`
             echo -e "$iTest\t$taille\t$res\t$algo\t$typeTableau"
diff --git a/TP2/graphe.png b/TP2/graphe.png
index d2e56eca525783e15b9cb3506cd61d27ed86f412..a7c352dccbb15f602a66615636d27a55153634f3 100644
Binary files a/TP2/graphe.png and b/TP2/graphe.png differ
diff --git a/TP2/grapheFusion.png b/TP2/grapheFusion.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a1f97ec06723420b6df651ed86c82494f7bb844
Binary files /dev/null and b/TP2/grapheFusion.png differ
diff --git a/TP2/main.c b/TP2/main.c
index a35c68de3a11fe0b49bb9bbb5af6618c7d41fcdc..5b3eb6c30a417d881ade9843c4355104a1973aec 100644
--- a/TP2/main.c
+++ b/TP2/main.c
@@ -15,7 +15,7 @@ int main(int argc, char *argv[]) {
   char typeAlgo = argv[1][0];
   long taille = (long) atoi(argv[2]);
   long MAX = 50;
-  long tab[taille];
+  long *tab = malloc(sizeof(long) * taille);
   char typeTable = argv[3][0];
   size_t afficher = (size_t) atoi(argv[4]);
 
@@ -52,5 +52,7 @@ int main(int argc, char *argv[]) {
       break;
   }
 
+  free(tab);
+
   return 0;
 }
diff --git a/TP2/triRapideAleatoire.png b/TP2/triRapideAleatoire.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a1f97ec06723420b6df651ed86c82494f7bb844
Binary files /dev/null and b/TP2/triRapideAleatoire.png differ
diff --git a/TP2/triRapideMiddle.png b/TP2/triRapideMiddle.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a1f97ec06723420b6df651ed86c82494f7bb844
Binary files /dev/null and b/TP2/triRapideMiddle.png differ
diff --git a/TP2/utils.c b/TP2/utils.c
index 791c21c8fce431a5d5c7d2177d8033b7b70abda1..f171baeff7eaf38e8f844a07fff19ca0fc0941ce 100644
--- a/TP2/utils.c
+++ b/TP2/utils.c
@@ -14,6 +14,7 @@ void affichertab(long *T, int s)
 
 void genTab(long *T, long taille, char type, long MAX)
 {
+  int middle = (taille / 2);
 
   switch (type)
   {
@@ -49,6 +50,18 @@ void genTab(long *T, long taille, char type, long MAX)
     }
     break;
 
+  case 'm':
+      //Tableau Trie a moitie
+      for (long i = 0; i < middle; ++i)
+      {
+        T[i] = i;
+      }
+      for (long i = middle; i < taille; ++i)
+      {
+        T[i] = rand() % MAX;
+      }
+      break;
+
   default:
     break;
   }