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 :

Déterminer la complexité temporelle


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    laval
    Inscrit en
    Mars 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : laval
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Déterminer la complexité temporelle
    bonjour je voudrais savoir comment je peux déterminer la complexité temporelle de cet algorithme dans les cas favorable, défavorable et moyen. et merci d'avance pour vos réponses


    Soit A un vecteur d’entiers. Soit la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void function mystere(int k) {
        int p=0 ; bool m;
        if (k != 0) {
            mystere(k-1) ;
            m=false ;
            int i = k-1 ; int temp = A[k] ;
            while ( i >= 0) and (temp >= A[i]) {
                A[i+1] = A[i] ; p = i ; m=true ; i = i-1 ;
            }
            if (m)
                A[p] = temp ;
        } //fin du if
    }

  2. #2
    Membre expérimenté
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Points : 1 376
    Points
    1 376
    Par défaut
    Bonjour,
    déjà il faut bien indenter ton code pour qu'il soit lisible et donne envie de le lire :
    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
     
    void function mystere(int k) {
      int p = 0;
      bool m;
      if (k != 0) {
        mystere(k - 1);
        m = false;
        int i = k - 1;
        int temp = A[k];
        while (i >= 0)
          and(temp >= A[i]) {
            A[i + 1] = A[i];
            p = i;
            m = true;
            i = i - 1;
          }
        if (m)
          A[p] = temp;
      } // fin du if
    }
    La complexité temporelle (en considérant les instructions en O(1)) sera dépendante de l'appel récursif et de la boucle while.
    Les questions à se poser sont donc :
    • combien d'appels récursifs sont-ils faits ?
    • à chaque appel récursif combien de fois la boucle while sera-t-elle déroulée (au pire, au mieux) ?

Discussions similaires

  1. Calcul déterminant et complexité
    Par membreComplexe12 dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 23/01/2012, 14h53
  2. data.frame: complexité temporelle
    Par ikuzar dans le forum R
    Réponses: 4
    Dernier message: 06/01/2012, 18h09
  3. Méthodologie pour évaluer la complexité temporelle d'un algorithme
    Par abidineb dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 09/07/2011, 20h53
  4. Complexité temporelle de l'analyse en composantes principales (ACP)
    Par abidineb dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 08/07/2011, 22h59

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