From 7c4e1807df1100fda444ba99b6c853f669e4ad59 Mon Sep 17 00:00:00 2001
From: malric litiere <litiere@unistra.fr>
Date: Fri, 6 Mar 2020 15:08:09 +0100
Subject: [PATCH] Added projet

---
 Projet/Makefile           |  18 ++++++
 Projet/ggossaprodansR.png | Bin 0 -> 63167 bytes
 Projet/main.c             |  56 ++++++++++++++++++
 Projet/test.R             |   7 +++
 Projet/test.dat           | 121 ++++++++++++++++++++++++++++++++++++++
 Projet/test.sh            |  21 +++++++
 Projet/tri_fusion.c       |  62 +++++++++++++++++++
 Projet/tri_fusion.h       |   9 +++
 Projet/tri_insertion.c    |  16 +++++
 Projet/tri_insertion.h    |   7 +++
 Projet/tri_rapide.c       |  36 ++++++++++++
 Projet/tri_rapide.h       |  10 ++++
 Projet/utils.c            |  55 +++++++++++++++++
 Projet/utils.h            |   5 ++
 14 files changed, 423 insertions(+)
 create mode 100644 Projet/Makefile
 create mode 100644 Projet/ggossaprodansR.png
 create mode 100644 Projet/main.c
 create mode 100644 Projet/test.R
 create mode 100644 Projet/test.dat
 create mode 100644 Projet/test.sh
 create mode 100644 Projet/tri_fusion.c
 create mode 100644 Projet/tri_fusion.h
 create mode 100644 Projet/tri_insertion.c
 create mode 100644 Projet/tri_insertion.h
 create mode 100644 Projet/tri_rapide.c
 create mode 100644 Projet/tri_rapide.h
 create mode 100644 Projet/utils.c
 create mode 100644 Projet/utils.h

diff --git a/Projet/Makefile b/Projet/Makefile
new file mode 100644
index 0000000..01fc0ab
--- /dev/null
+++ b/Projet/Makefile
@@ -0,0 +1,18 @@
+all: main
+
+main : tri_fusion.o tri_insertion.o tri_rapide.o utils.o main.c
+	gcc -o main -Wall utils.o tri_fusion.o tri_insertion.o tri_rapide.o -g main.c
+
+tri_fusion.o : tri_fusion.c tri_fusion.h
+	gcc -c -Wall -g tri_fusion.c
+
+tri_insertion.o : tri_insertion.c tri_insertion.h
+	gcc -c -Wall -g tri_insertion.c
+
+tri_rapide.o : tri_rapide.c tri_rapide.h
+	gcc -c -Wall -g tri_rapide.c
+
+utils.o : utils.c utils.h
+	gcc -c -g utils.c
+clean :
+	rm *.o
diff --git a/Projet/ggossaprodansR.png b/Projet/ggossaprodansR.png
new file mode 100644
index 0000000000000000000000000000000000000000..90103439e1c741904d603f17a0f2e33373416a53
GIT binary patch
literal 63167
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
Bs#gF2

literal 0
HcmV?d00001

diff --git a/Projet/main.c b/Projet/main.c
new file mode 100644
index 0000000..a35c68d
--- /dev/null
+++ b/Projet/main.c
@@ -0,0 +1,56 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "tri_insertion.h"
+#include "tri_rapide.h"
+#include "tri_fusion.h"
+
+#include "utils.h"
+
+int main(int argc, char *argv[]) {
+  if(argc != 5) {
+    printf("Usage: %s [typeAlgo] [taille] [typeTableau] [isAfficher]\n", argv[0]);
+    exit(1);
+  }
+
+  char typeAlgo = argv[1][0];
+  long taille = (long) atoi(argv[2]);
+  long MAX = 50;
+  long tab[taille];
+  char typeTable = argv[3][0];
+  size_t afficher = (size_t) atoi(argv[4]);
+
+  genTab(tab, taille, typeTable, MAX);
+
+  switch(typeAlgo) {
+    case 'i':
+      triInsertion(tab,taille);
+
+      if(afficher) {
+        printf("Tri Insertion: \n");
+        affichertab(tab,taille);
+      }
+
+      break;
+
+    case 'r':
+      triRapide(tab, taille);
+
+      if(afficher) {
+        printf("Tri Rapide: \n");
+        affichertab(tab,taille);
+      }
+
+      break;
+
+    case 'f':
+      triFusion(tab, taille);
+
+      if(afficher) {
+        printf("Tri Fusion: \n");
+        affichertab(tab,taille);
+      }
+      break;
+  }
+
+  return 0;
+}
diff --git a/Projet/test.R b/Projet/test.R
new file mode 100644
index 0000000..9d98a9d
--- /dev/null
+++ b/Projet/test.R
@@ -0,0 +1,7 @@
+library(ggplot2)
+perf <- read.table("test.dat", header = TRUE)
+ggplot(perf, aes(x=taille, y=temps, group=algo, colour=as.character(algo))) + facet_grid(algo ~ typeTableau) +
+geom_point() + geom_smooth() +
+ ggtitle("Graphes Comparaison Algos")
+
+ggsave("graphe.png")
diff --git a/Projet/test.dat b/Projet/test.dat
new file mode 100644
index 0000000..682bb4e
--- /dev/null
+++ b/Projet/test.dat
@@ -0,0 +1,121 @@
+-e iTest	taille	temps	mem	algo	typeTableau
+-e 1	59296	2.17	1772	i	a
+-e 1	59296	0.00	1704	i	r
+-e 1	59296	4.47	1656	i	i
+-e 1	59296	0.00	1700	i	c
+-e 1	59296	0.23	1848	r	a
+-e 1	59296	11.35	5416	r	r
+-e 1	59296	7.77	5412	r	i
+-e 1	59296	11.25	5412	r	c
+-e 1	59296	0.01	1992	f	a
+-e 1	59296	0.01	1964	f	r
+-e 1	59296	0.00	2032	f	i
+-e 1	59296	0.00	1956	f	c
+-e 2	97794	6.03	1988	i	a
+-e 2	97794	0.00	1988	i	r
+-e 2	97794	12.13	1928	i	i
+-e 2	97794	0.00	2012	i	c
+-e 2	97794	0.61	2116	r	a
+-e 2	97794	30.32	8036	r	r
+-e 2	97794	20.98	8116	r	i
+-e 2	97794	30.33	8100	r	c
+-e 2	97794	0.01	2604	f	a
+-e 2	97794	0.01	2544	f	r
+-e 2	97794	0.01	2680	f	i
+-e 2	97794	0.01	2556	f	c
+-e 3	41540	1.08	1496	i	a
+-e 3	41540	0.00	1576	i	r
+-e 3	41540	2.17	1456	i	i
+-e 3	41540	0.00	1628	i	c
+-e 3	41540	0.11	1628	r	a
+-e 3	41540	5.49	4080	r	r
+-e 3	41540	3.82	4152	r	i
+-e 3	41540	5.39	4224	r	c
+-e 3	41540	0.00	1908	f	a
+-e 3	41540	0.00	1892	f	r
+-e 3	41540	0.00	1836	f	i
+-e 3	41540	0.00	1972	f	c
+-e 4	97964	5.95	1936	i	a
+-e 4	97964	0.00	2040	i	r
+-e 4	97964	12.07	1992	i	i
+-e 4	97964	0.00	2048	i	c
+-e 4	97964	0.62	2124	r	a
+-e 4	97964	32.03	8192	r	r
+-e 4	97964	21.83	8080	r	i
+-e 4	97964	30.63	8024	r	c
+-e 4	97964	0.02	2560	f	a
+-e 4	97964	0.01	2564	f	r
+-e 4	97964	0.01	2544	f	i
+-e 4	97964	0.01	2492	f	c
+-e 5	39669	1.00	1544	i	a
+-e 5	39669	0.00	1496	i	r
+-e 5	39669	2.03	1504	i	i
+-e 5	39669	0.00	1536	i	c
+-e 5	39669	0.10	1552	r	a
+-e 5	39669	5.03	4032	r	r
+-e 5	39669	3.44	3984	r	i
+-e 5	39669	5.00	4024	r	c
+-e 5	39669	0.00	1792	f	a
+-e 5	39669	0.00	1820	f	r
+-e 5	39669	0.00	1840	f	i
+-e 5	39669	0.00	1884	f	c
+-e 6	8038	0.04	1300	i	a
+-e 6	8038	0.00	1300	i	r
+-e 6	8038	0.08	1220	i	i
+-e 6	8038	0.00	1288	i	c
+-e 6	8038	0.00	1300	r	a
+-e 6	8038	0.20	1756	r	r
+-e 6	8038	0.14	1812	r	i
+-e 6	8038	0.21	1808	r	c
+-e 6	8038	0.00	1448	f	a
+-e 6	8038	0.00	1448	f	r
+-e 6	8038	0.00	1332	f	i
+-e 6	8038	0.00	1364	f	c
+-e 7	30705	0.59	1468	i	a
+-e 7	30705	0.00	1524	i	r
+-e 7	30705	1.19	1480	i	i
+-e 7	30705	0.00	1492	i	c
+-e 7	30705	0.06	1472	r	a
+-e 7	30705	3.02	3440	r	r
+-e 7	30705	2.08	3408	r	i
+-e 7	30705	3.00	3384	r	c
+-e 7	30705	0.00	1688	f	a
+-e 7	30705	0.00	1688	f	r
+-e 7	30705	0.00	1616	f	i
+-e 7	30705	0.00	1696	f	c
+-e 8	53435	1.81	1660	i	a
+-e 8	53435	0.00	1700	i	r
+-e 8	53435	3.66	1656	i	i
+-e 8	53435	0.00	1640	i	c
+-e 8	53435	0.18	1676	r	a
+-e 8	53435	9.15	4892	r	r
+-e 8	53435	6.50	5000	r	i
+-e 8	53435	9.16	4928	r	c
+-e 8	53435	0.01	1996	f	a
+-e 8	53435	0.00	1904	f	r
+-e 8	53435	0.00	1988	f	i
+-e 8	53435	0.00	1992	f	c
+-e 9	50961	1.61	1676	i	a
+-e 9	50961	0.00	1640	i	r
+-e 9	50961	3.30	1624	i	i
+-e 9	50961	0.00	1592	i	c
+-e 9	50961	0.17	1716	r	a
+-e 9	50961	8.31	4888	r	r
+-e 9	50961	5.85	4832	r	i
+-e 9	50961	8.27	4852	r	c
+-e 9	50961	0.00	1860	f	a
+-e 9	50961	0.00	1928	f	r
+-e 9	50961	0.00	1884	f	i
+-e 9	50961	0.00	1884	f	c
+-e 10	74748	3.49	1832	i	a
+-e 10	74748	0.00	1828	i	r
+-e 10	74748	7.11	1744	i	i
+-e 10	74748	0.00	1772	i	c
+-e 10	74748	0.37	1932	r	a
+-e 10	74748	17.97	6456	r	r
+-e 10	74748	12.53	6388	r	i
+-e 10	74748	18.00	6496	r	c
+-e 10	74748	0.01	2360	f	a
+-e 10	74748	0.01	2424	f	r
+-e 10	74748	0.01	2380	f	i
+-e 10	74748	0.01	2360	f	c
diff --git a/Projet/test.sh b/Projet/test.sh
new file mode 100644
index 0000000..027e8ba
--- /dev/null
+++ b/Projet/test.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+affichage=0
+#taille=100
+
+echo -e "iTest\ttaille\ttemps\tmem\talgo\ttypeTableau"
+
+for iTest in `seq 1 10`
+do
+  taille=$(( `od -An -N4 -tu < /dev/urandom` % 100000))
+
+  for algo in 'i' 'r' 'f'
+  do
+
+    for typeTableau in 'a' 'r' 'i' 'c'
+      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"
+    done
+  done
+done
diff --git a/Projet/tri_fusion.c b/Projet/tri_fusion.c
new file mode 100644
index 0000000..7453f70
--- /dev/null
+++ b/Projet/tri_fusion.c
@@ -0,0 +1,62 @@
+#include <math.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "tri_fusion.h"
+
+void triFusion(long* A, size_t size) {
+  sousTriFusion(A, 0, size);
+}
+
+void sousTriFusion(long* A, size_t first, size_t size) {
+    if(first+1 <size){ // p < r - 1
+        size_t middle = floor((first+size)/2);
+        sousTriFusion(A, first, middle);
+        sousTriFusion(A, middle, size);
+        fusion(A, first, middle, size);
+    }
+}
+
+void copySousTable(long* mainT, long* underT, size_t id, size_t size) {
+  for(size_t i = id; i < id+size; ++i) {
+    underT[i-id] = mainT[i];
+  }
+}
+
+void fusion(long* A, size_t first, size_t middle, size_t size) {
+    size_t n1 = middle - first; // Nb elem dans A[p , q]  q exclu
+    size_t n2 = size - middle;  // Nb elem dans A[q , r]  r exclu
+
+    size_t indg = 0;
+    size_t indd = 0;
+
+    long* ag = malloc(sizeof(long) * n1);
+    long* ad = malloc(sizeof(long) * n2);
+
+    copySousTable(A, ag, first, n1);
+    copySousTable(A, ad, middle, n2);
+
+    int i = first;
+
+    while(i < size) {
+      if(indg == n1) {
+        A[i] = ad[indd];
+        indd++;
+      }
+      else if(indd == n2) {
+        A[i] = ag[indg];
+        indg++;
+      }
+      else if(ag[indg] < ad[indd]) {
+        A[i] = ag[indg];
+        indg++;
+      }
+      else {
+        A[i] = ad[indd];
+        indd++;
+      }
+      ++i;
+    }
+
+    free(ag);
+    free(ad);
+}
\ No newline at end of file
diff --git a/Projet/tri_fusion.h b/Projet/tri_fusion.h
new file mode 100644
index 0000000..093102c
--- /dev/null
+++ b/Projet/tri_fusion.h
@@ -0,0 +1,9 @@
+#ifndef TRIS_F
+#define TRIS_F
+#include <stdint.h>
+#include <stdlib.h>
+
+void triFusion(long* A, size_t size);
+void sousTriFusion(long* A, size_t first, size_t size);
+void fusion(long* A, size_t first, size_t middle, size_t size);
+#endif //TRIS_H
\ No newline at end of file
diff --git a/Projet/tri_insertion.c b/Projet/tri_insertion.c
new file mode 100644
index 0000000..b276ebd
--- /dev/null
+++ b/Projet/tri_insertion.c
@@ -0,0 +1,16 @@
+#include <math.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "tri_insertion.h"
+
+void triInsertion(long* A, size_t n) {
+    for(size_t i = 1; i <= n-1; i++){
+        long cle = A[i];
+        size_t j = i - 1;
+        while(j+1 >= j && A[j] > cle){
+            A[j+1] = A[j];
+            j = j-1;
+        }
+        A[j+1] = cle;
+    }
+}
\ No newline at end of file
diff --git a/Projet/tri_insertion.h b/Projet/tri_insertion.h
new file mode 100644
index 0000000..7e92151
--- /dev/null
+++ b/Projet/tri_insertion.h
@@ -0,0 +1,7 @@
+#ifndef TRIS_I
+#define TRIS_I
+#include <stdint.h>
+#include <stdlib.h>
+
+void triInsertion(long* A, size_t n);
+#endif //TRIS_H
\ No newline at end of file
diff --git a/Projet/tri_rapide.c b/Projet/tri_rapide.c
new file mode 100644
index 0000000..41eaa3b
--- /dev/null
+++ b/Projet/tri_rapide.c
@@ -0,0 +1,36 @@
+#include <math.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "tri_rapide.h"
+
+
+void triRapide(long* A, size_t n) {
+    sousTriRapide(A,0,n);
+}
+
+void sousTriRapide(long* A, size_t first, size_t size){
+    if(first+1 < size){
+        size_t middle = partition(A,first,size);
+        sousTriRapide(A,first,middle);
+        sousTriRapide(A,middle+1,size);
+    }
+}
+
+size_t partition(long* A, size_t first, size_t size) {
+    long pivot = A[size-1];
+    size_t i = first;
+    for(int j = first; j+2 <= size; j++){
+        if(A[j] <= pivot){
+            permuter(A,i,j);
+            i++;
+        }
+    }
+    permuter(A,i,size-1);
+    return i;
+}
+
+void permuter(long* A,size_t i,size_t j) {
+    long inter = A[i];
+    A[i] = A[j];
+    A[j] = inter;
+}
diff --git a/Projet/tri_rapide.h b/Projet/tri_rapide.h
new file mode 100644
index 0000000..e17099f
--- /dev/null
+++ b/Projet/tri_rapide.h
@@ -0,0 +1,10 @@
+#ifndef TRIS_R
+#define TRIS_R
+#include <stdint.h>
+#include <stdlib.h>
+
+void triRapide(long* A, size_t n);
+void sousTriRapide(long* A, size_t first, size_t size);
+size_t partition(long* A, size_t first, size_t size);
+void permuter(long* A,size_t i,size_t j);
+#endif //TRIS_H
\ No newline at end of file
diff --git a/Projet/utils.c b/Projet/utils.c
new file mode 100644
index 0000000..791c21c
--- /dev/null
+++ b/Projet/utils.c
@@ -0,0 +1,55 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "utils.h"
+
+void affichertab(long *T, int s)
+{
+  printf("[ ");
+  for (int i = 0; i < s - 1; i++)
+  {
+    printf("%d , ", T[i]);
+  }
+  printf("%d ]\n", T[s - 1]);
+}
+
+void genTab(long *T, long taille, char type, long MAX)
+{
+
+  switch (type)
+  {
+  case 'a':
+    //Tableau Aleatoire
+    for (long i = 0; i < taille; ++i)
+    {
+      T[i] = rand() % MAX;
+    }
+    break;
+
+  case 'r':
+    //Tableau Rangé
+    for (long i = 0; i < taille; ++i)
+    {
+      T[i] = i;
+    }
+    break;
+
+  case 'i':
+    //Tableau Rangé Inversé
+    for (long i = 0; i < taille; ++i)
+    {
+      T[i] = taille - i;
+    }
+    break;
+
+  case 'c':
+    //Tableau Constant
+    for (long i = 0; i < taille; ++i)
+    {
+      T[i] = 0;
+    }
+    break;
+
+  default:
+    break;
+  }
+}
diff --git a/Projet/utils.h b/Projet/utils.h
new file mode 100644
index 0000000..15623a3
--- /dev/null
+++ b/Projet/utils.h
@@ -0,0 +1,5 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+void affichertab(long* T, int s);
+void genTab(long *T, long taille, char type, long MAX);
-- 
GitLab