Calcul de complexité d'un algorithme

Voila, ca fait 2 semaines que je suis rentré en licence informatique, la plupart des matières sont trankil Java/C/Unix (comme je sors d’un DUT, je connais déjà tout, contrairement au DEUG) mais j’ai une matière qui me pose problème : SDC (ca pose aussi problème au DEUG).

SDC : Structure de données complexes. Actuellement, il essaye de nous faire comprendre comment calculer la complexité d’un algorithme, seulement, le cours est le jeudi matin à 8h (j’ai encore la tête dans le cul) et le prof défile les transparents avec des formules matématiques incompréhenssible à la vitesse lumière. Sans parler du prof de TD qui ne sait pas non plus nous expliquer.

Donc voila, quelqu’un connait-il des liens vers des cours qui pourraient éclairer ma lanterne ?

Ben heu y a pas mal de maths ouai et c’est pas simple a expliquer. Le mieux c’est encore de matter le cours honnetement. C’est le meme principe que les series/suites en math avec les O(n^2) et autres sinon a la base. Ca consiste principalement a borne son nombre d’operations par un truc dont on connait la vitesse de croissance et on en deduit la complexite de l’algo. Par exemple un tris a bulle c’est en O(n^2) et un quick sort c’est en O(n log n). La complexite de l’algo croit comme le carre du nombre d’elements pour l’un et comme nlogn pour l’autre (donc moins vite). Donc en moyenne ca va bien plus vite un quick sort (ne pas oublier que dans certains cas, pour certaines applications un tri a bulle est plus adapte, en particulier si tu rajoute un element au pif dans une liste deja triee).

Ce message a été édité par GloP le 09/10/2003

En francais (désolé GloP=) ), tu ne “calcule” pas réellement la compléxité d’un algo,tu l’évalue par des aproximations.
Comme l’as expliqué GloP , c’est par comparaison que tu trouve cette complexité(y a un mini et un maxi je crois), en gros le meilleur et le pire cas.

y a un cours sur la complexité à cette adresse (c’est un .pdf)

(recherche rapide , je sais pas ce que ca vaut)

aaaaaaahh… c’est CA ???

bah : vous faites pas ca au nez ??

Genre : “Bon, je vois une boucle, deux boucles… et … c’est tout, bon bah la vite fait, je te dis un ptit O(2*n)”

(le vrais truc, et GloP confirmera : c’est de se toucher le menton et de cligner d’un oeil en meme temps !)

[quote](le vrais truc, et GloP confirmera : c’est de se toucher le menton et de cligner d’un oeil en meme temps !)[/quote]Se mettre une main devant le menton/bouche/nez avec l’autre main vaguement posee sur le clavier en plein milieu d’une ligne et regarder dans le vide ca marche aussi pas mal   ca a son charme. Si ca marche pas, un bon coup de poing sur la table en criant a l’ordinateur ou au code (au choix) “HA BORDEL! PUTAIN TU M’EMMERDES TOI“, ou autres variations peuvent aider. Il y a d’autres tactiques mais on va pas reveler tout nos secrets non plus…

Ce message a été édité par GloP le 10/10/2003

[quote]y a un cours sur la complexité à cette adresse (c’est un .pdf)[/quote]Je viens d’y jeter un coup d’oeil appuyé, et c’est assez intéressant meme si ca ne rentre pas vraiment dans les détails (une sorte de mise en bouche sur le sujet en quelque sorte).

Par contre je sors les warnings, parce que certains slides, en particulier les démonstrations mathématiques, sont des slides “a trous” (les habitués d’amphis avec profs vicieux comprennent de quoi je parle). Mais en fait c’est pas trop mal vu que ca oblige les gens a se creuser la tete, meme si c’est sur des détails pas forcément nécessaires a la compréhension de la chose.

j’avais dit que c’était vite trouvé (low_quality_file PROOF)

A tout hasard, je vais quand meme agir préventivement : alors, en fait, ce document je l’ai lu en vitesse ! (low_quality_review PROOF)

[quote]

[quote](le vrais truc, et GloP confirmera : c’est de se toucher le menton et de cligner d’un oeil en meme temps !) [/quote]Se mettre une main devant le menton/bouche/nez avec l’autre main vaguement posee sur le clavier en plein milieu d’une ligne et regarder dans le vide ca marche aussi pas mal

Dans les cas extremes se prendre la tete entre les deux mains et regarder une ligne debile itensement (genre “int i =0;“  ca a son charme. Si ca marche pas, un bon coup de poing sur la table en criant a l’ordinateur ou au code (au choix) “HA BORDEL! PUTAIN TU M’EMMERDES TOI“, ou autres variations peuvent aider. Il y a d’autres tactiques mais on va pas reveler tout nos secrets non plus…

Ce message a été édité par GloP le 10/10/2003

Je suis adepte de la double-claque à l’écran moi
(non, pas de TFT au taf, pour mon grand malheur)

Ah moi je m’énerve jamais aprés mon code vu que j’ai trouvé THE solution : ne jamais avoir de problème avec son code :wink:

Donc toujours zen