IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Complexité et algorithme


Sujet :

Mathématiques

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 51
    Points : 37
    Points
    37
    Par défaut Complexité et algorithme
    bonjour,
    en essayant de refaire mon TD sur la complexité algorithmique,
    j'ai eu deux problème :

    1-trouver la complexité de l'algo :
    for(i=n; i>1; i=i/2)
    for( j=0; j<i; j++)
    x := x+a

    2- on a le code suivant :
    si a>b alors
    pour i = 1 à n faire
    x := x+a
    sinon x := x+b

    Question : trouver une instance du code de coût t(indice avg)


    Merci pour votre aide !!

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Points : 120
    Points
    120
    Par défaut
    1- Pour la premiere, c'est assez simple à priori :

    for(i=n; i>1; i=i/2)
    for( j=0; j<i; j++)

    On pose la suite Un. U(0) = n; U(k+1)=U(k)/2.

    Il est claire que K varie entre 0 et E(Log2(n)) : Partie entiere de Log2 de n.
    Pour chaque valeur de k on a U(k) iteration pour la deuxieme boucle. Donc la complexité devrait etre
    Somme( k=0..E(Log2(n)), U(k)) < U(0)*Log2(n). (U est decroissante.)
    => o(nLog(n))

    2- Je sais pas trop ce que tu veux dire par "instance du code de coût t(indice avg)" mais j'imagine que tu recherche le cout en moyenne de cet algorithm.

    Commencons par le cout dans le cas optimal : b>=a, c'est 1.
    Cout dans le pire des cas : b<a, c'est n.
    N'ayant aucune informations sur a ou b , je suppose equiprobable les cas a>b et a<b + le cas a=b qu'on peut negliger. donc cela donne
    n+1/2 => O(n/2)

    Ps: je suis moi meme qu'un etudiant, donc je suis pas à 100% sur de la veracite, particulierement pour le second algo dont la solution me parait trop simpliste. Je profite simplement de ton post pour m'exercer

Discussions similaires

  1. Complexité d'algorithme et de calcul
    Par bilzzbenzbilz dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 13/11/2010, 16h34
  2. Complexité des algorithmes: translate "intractable"
    Par nh2 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 31/10/2009, 15h31
  3. Complexité des algorithmes
    Par Black.Rose dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 24/11/2008, 16h35
  4. Methode pour trouver la complexité d'algorithmes
    Par line86 dans le forum Algorithmes et structures de données
    Réponses: 25
    Dernier message: 30/06/2007, 20h11
  5. Complexité d'algorithmes
    Par Weedo dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 17/01/2006, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo