Je pense que ton prof veux que tu vois par toi même que le temps de certains algo de tri peuvent être sous la forme d'une coube (log) et non pas une droite.
Je suppose que tu as déjà vu différents algo de tri
Ensuite pour ton expérience, il faut regarder des tableaux de tailles différentes par exemple, de taille 10, 20, 50, 100, 200, 500, 1000, 2000, 5000 ....
Mais le placement des éléments joue bcp ds le temps de résolution de l'algo, c'est pourquoi tu devras le faire pour trois type de tableaux:
- Trié [1, 2, 3, 4, ... ,n]
- Trié décroissant [n, n-1, n-2, ..., 2, 1]
- Random[20,56, 23, 1, ... ,12]
Ensuite, le mieux est de regardé le temps d'exécution pour chaque tableau, en suivant la base de code (écrite plus bas) ou tu prend le temps avant et après l'exécution pour estimer le temps à résoudre le tri.
Au final, tu auras le temps pour chaque tri différents et chaque tableau initial (trié, inversé, random) (axe y) en fonction des tailles (axe x).
Pour faire les courbes, je te conseil gnuplot.
Mais fait déjà ton code avec l'écriture ds un fichier de résultat, c'est déjà pas mal
[cpp]
// Include pour prise de temps
#include <sys/time.h>
int toto(){
//tu déclares 2 strructures de type timeval
// ti pour temps initial
// tf pour temps final
struct timeval ti,tf;
//tu prend le temps avant l'algo
gettimeofday(&ti,NULL);
/* Algo de tri*/
//tu prend le temps apres l'algo
gettimeofday(&tf,NULL);
//Tu écris le résultat ds le fichier descfp que tu auras crée avant
fprintf(descfp,"Sampling time : %f micro-seconds\n", ((double) ((tf.tv_sec-ti.tv_sec)*1000000 + (tf.tv_usec-ti.tv_usec))));
}
[/cpp]