diff --git a/TP2/Rplots.pdf b/TP2/Rplots.pdf index 90a59a802986be5dab643963e80dfe273326847f..d890bdf267629e37a162fcce705f5c56e4bc8db9 100644 Binary files a/TP2/Rplots.pdf and b/TP2/Rplots.pdf differ diff --git a/TP2/fusion.R b/TP2/fusion.R index 26d75eb2675cf8d2dbb0e1b152c929743f4989c5..b64e5b999066f2b30b92b715ac3a4b8cb362e1d4 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("grapheFusion.png") +ggsave("graphe.png") diff --git a/TP2/fusion.dat b/TP2/fusion.dat index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d72f00ff1d19c5b3b1ce201f313fea89385b35a2 100755 --- a/TP2/fusion.dat +++ b/TP2/fusion.dat @@ -0,0 +1,61 @@ +iTest taille temps mem algo typeTableau +1 50000 1.86 1344 i a +1 70000 3.56 1652 i a +1 90000 5.88 1892 i a +1 50000 2.34 1396 i m +1 70000 4.52 1728 i m +1 90000 7.58 1876 i m +2 50000 1.85 1388 i a +2 70000 3.54 1644 i a +2 90000 5.87 1660 i a +2 50000 2.30 1392 i m +2 70000 4.50 1736 i m +2 90000 7.42 1612 i m +3 50000 1.84 1388 i a +3 70000 3.54 1572 i a +3 90000 5.88 1884 i a +3 50000 2.35 1388 i m +3 70000 4.49 1744 i m +3 90000 7.43 1892 i m +4 50000 1.81 1288 i a +4 70000 3.53 1660 i a +4 90000 5.86 1612 i a +4 50000 2.30 1336 i m +4 70000 4.50 1656 i m +4 90000 7.42 1576 i m +5 50000 1.81 1352 i a +5 70000 3.54 1652 i a +5 90000 5.87 1552 i a +5 50000 2.30 1388 i m +5 70000 4.48 1664 i m +5 90000 7.43 1840 i m +6 50000 1.83 1400 i a +6 70000 3.54 1608 i a +6 90000 5.86 1664 i a +6 50000 2.30 1564 i m +6 70000 4.50 1552 i m +6 90000 7.43 1608 i m +7 50000 1.81 1396 i a +7 70000 3.54 1664 i a +7 90000 5.86 1616 i a +7 50000 2.27 1356 i m +7 70000 4.48 1664 i m +7 90000 7.43 1892 i m +8 50000 1.81 1288 i a +8 70000 3.54 1580 i a +8 90000 5.85 1644 i a +8 50000 2.29 1292 i m +8 70000 4.49 1612 i m +8 90000 7.40 1616 i m +9 50000 1.81 1464 i a +9 70000 3.58 1728 i a +9 90000 5.87 1616 i a +9 50000 2.29 1344 i m +9 70000 4.50 1652 i m +9 90000 7.43 1776 i m +10 50000 1.81 1336 i a +10 70000 3.55 1552 i a +10 90000 5.85 1964 i a +10 50000 2.33 1388 i m +10 70000 4.49 1608 i m +10 90000 7.42 1600 i m diff --git a/TP2/fusion.sh b/TP2/fusion.sh index 1c1fc1d738ebfaa76ca2b8957d7a1d29da33a91c..68ef25319035b09d04cdac2a1c0db18df5e25ef5 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 'r' 'f' + for algo in 'i' do - for typeTableau in 'r' + for typeTableau in 'a' 'm' do - for taille in 100000 200000 300000 + for taille in 50000 70000 90000 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 a7c352dccbb15f602a66615636d27a55153634f3..b3aa9edf01a7f0552332693a41556aaed96c3b91 100644 Binary files a/TP2/graphe.png and b/TP2/graphe.png differ diff --git a/TP2/triRapideAleatoire.png b/TP2/triRapideAleatoire.png deleted file mode 100644 index 1a1f97ec06723420b6df651ed86c82494f7bb844..0000000000000000000000000000000000000000 Binary files a/TP2/triRapideAleatoire.png and /dev/null differ diff --git a/TP2/triRapideAleatoirePivotLast.png b/TP2/triRapideAleatoirePivotLast.png new file mode 100644 index 0000000000000000000000000000000000000000..12e3a9069b7079f395a0760d6e5b1c841d3be0d1 Binary files /dev/null and b/TP2/triRapideAleatoirePivotLast.png differ diff --git a/TP2/triRapideAleatoirePivotMiddle.png b/TP2/triRapideAleatoirePivotMiddle.png new file mode 100644 index 0000000000000000000000000000000000000000..095d128066982d0d8d764594dfc0854317690cbb Binary files /dev/null and b/TP2/triRapideAleatoirePivotMiddle.png differ diff --git a/TP2/triRapideMiddle.png b/TP2/triRapideMiddle.png deleted file mode 100644 index 1a1f97ec06723420b6df651ed86c82494f7bb844..0000000000000000000000000000000000000000 Binary files a/TP2/triRapideMiddle.png and /dev/null differ diff --git a/TP2/triRapideMiddlePivotLast.png b/TP2/triRapideMiddlePivotLast.png new file mode 100644 index 0000000000000000000000000000000000000000..d224fe41af957b53faf1acc40a2e80f8aa21a314 Binary files /dev/null and b/TP2/triRapideMiddlePivotLast.png differ diff --git a/TP2/triRapideMiddlePivotMiddle.png b/TP2/triRapideMiddlePivotMiddle.png new file mode 100644 index 0000000000000000000000000000000000000000..a172b89b18c85c73c67b1e7745ddb1607331af75 Binary files /dev/null and b/TP2/triRapideMiddlePivotMiddle.png differ diff --git a/TP2/tri_rapide.c b/TP2/tri_rapide.c index 41eaa3b77e77dd30d53a041ca5f88490cf06a16d..163922cd965a9aba7c16e9bcc7eabf4d6f2f6a63 100644 --- a/TP2/tri_rapide.c +++ b/TP2/tri_rapide.c @@ -17,7 +17,11 @@ void sousTriRapide(long* A, size_t first, size_t size){ } size_t partition(long* A, size_t first, size_t size) { + //long middle = (size-1) / 2; + //long pivot = A[middle]; + long pivot = A[size-1]; + size_t i = first; for(int j = first; j+2 <= size; j++){ if(A[j] <= pivot){