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

Algorithmes et structures de données Discussion :

Complexité d'un algorithme récurrent


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 96
    Points : 51
    Points
    51
    Par défaut Complexité d'un algorithme récurrent
    Bonjour,

    pouvez vous m'indiquer svp la complexité de f en nombre de multiplication :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    int f(int n){
     if(n==0)
      return 1;
     else
      return (g(n-1)*4);
    }
     
    int g(int n){
    int p;
     if(n==0)
      return 1;
     else{
         p=h(n-1);
      return (p*p);
     }
    }
     
    int h(int n){
     if(n==0)
      return 1;
     else
      return (f(n-1)*5);
    }
    Merci d'avance
    T.Bazoga

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Nous ne sommes pas là pour faire tes devoirs ...

    Indique nous ce qui te pose problème pour calculer la complexité et on pourra d'indiquer comment procéder.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 96
    Points : 51
    Points
    51
    Par défaut
    OK

    voila ce que je pensais,

    Cf(n): nombre de multiplication réalisé par f
    Cg(n): nombre de multiplication réalisé par g
    Ch(n): nombre de multiplication réalisé par h

    Cf(n)=1 + Cg(n-1) n>=1
    Cg(n)=1 + Ch(n-1) n>=1
    Ch(n)=1 + Cf(n-1) n>=1

    d'où Cf(n)=3 + Cf(n-3) pour n>=3 donc comment trouvé Cf(n) en fonction de n, il me parait que Cf(n)=n mais je ne suis pas sûr ?

    est ce que c'est bon maintenant

    Merci encore une fois

  4. #4
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait tu es sur la bonne voie

    L'idée pour le démontrer proprement est de supposer Cf(n) = O( n ) puis de procèder par un raisonnement par récurrence et le tour est joué. (ie : tu vérifie pour Cf(0), Cf(1), Cf(2), ... puis ensuite du suppose Cf(n) et tu regarde ce qu'il en est de Cf(n+1) et le tour est joué).

    EDIT : Si tu veux une étude plus fine (ie Cf(n) = Sigma( ... ) et pas Cf(n) = O( ...) ) il faut que tu détailles ton analyse (pour n congru à 0 modulo 3, n congru à 1 modulo 3 et n congru à 2 modulo 3))

  5. #5
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464
    Par défaut
    Une excellente référence pour le calcul de la complexité d'un algorithme récursif est le chapitre 4 intitulé "Recurrences" du livre http://algo.developpez.com/livres/#L2100039229 (déjà conseillé à bazoga et sûrement connu de PRomu@ld, mais pour les autres intéressés par le sujet )

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 96
    Points : 51
    Points
    51
    Par défaut
    Bonjour,

    effectivement, avec un raisonnement par récurrence ça marchait
    Merci pour vos réponses.

    cdl
    A.CHAFIK

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Complexité de l'algorithme de multiplication matricielle de strassen
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 09/07/2007, 07h27
  2. Complexité de l'algorithme de multiplication de Karatsuba
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 27/03/2007, 12h02
  3. Complexité de l'algorithme de Tri Fusion
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 26/03/2007, 22h04
  4. [Complexité d'un algorithme] Triangle de Sierpinski
    Par Opérateur dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 18/12/2006, 15h25
  5. complexité d'un algorithme par un...algorithme??
    Par afrikha dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 02/11/2005, 00h59

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