begin process at 2010 02 09 14:16:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

Compléxité?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Compléxité?

vendredi 27 octobre 2006 à 14:30:15 | Compléxité?

ffnajia

Membre Club
Bonjour à tous;
Est ce que c'est possible de savoir la compléxité de mon algorithme ou code C++?? nombre d'opérations ou temps de calcul??
Bonne journée.

Merci à tous
Najia

vendredi 27 octobre 2006 à 14:57:40 | Re : Compléxité?

vecchio56

Administrateur CodeS-SourceS
avec une différence de résultats de time(), tu peux calculer le temps d'exécution. Mais ce n'est pas très précis.
Une complexité théorique se calcule à la main

_____________________________________
Un éditeur de ressources gratuit pour Windows

vendredi 27 octobre 2006 à 18:49:54 | Re : Compléxité?

ffnajia

Membre Club

Merci;
Sinon, comment appliquer la fnction time()??

Merci à tous
Najia

vendredi 27 octobre 2006 à 19:17:30 | Re : Compléxité?

vecchio56

Administrateur CodeS-SourceS
time_t t1 = time(NULL);
...
int temps = time(NULL) - t1;
_____________________________________
Un éditeur de ressources gratuit pour Windows

dimanche 29 octobre 2006 à 22:49:45 | Re : Compléxité?

Arnaud16022

Membre Club
( tiens Vecchio t'es admin maintenant ? :)  )
ffnajia -> ça dépend de c que tu veux savoir.
Tu peux calculer la complexité algoritmique de ton algo, genre si dedans t'as un for ( 0 -> n), la complexité sera notée 0 (n) ... si t'as un arbre binaire en général ce sera O ( ln (n) ).
Ca te renseigne sur la capacité de ton algo a gérer un grand nombre de données, en gros.

Si c'est du temps que tu veux : QueryPrecisionTimer ou un truc dans le genre , RTFM ( aka MSDN ^^ ), mais il doit y avoir plus portable.
Evite à tout prix time() ou autres, précision lamentable ... sauf bien sûr si ton algo dure plus d'une seconde, dans ce cas c'est pas bien méchant

3ème option, ou va ma préférence : RDTSC, une instruction assembleur qui retourne le nombre de ticks depuis le dernier reboot. En gros ça te donne le nombre d'instructions qu'il a fallu pour arriver d'un point à un autre de ton prog, pour le coût d'une simple division et de 2 opcodes asm. Attention ce combre est indépendant du PC sur lequel tu l'utilises ( à peu pres ), mais pas du nombre de processus en cours ( si t'as half-life qui tourne en même temps, ça va consommer 95% du CPU et donc multiplier ta valeur par ... beaucoup ^^ ) goto Wikipedia pour plus de détails ...

++
ad

_______________________
Omnia vincit labor improbus


Cette discussion est classée dans : compléxité


Répondre à ce message

Sujets en rapport avec ce message



Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales