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é boucles successives


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 136
    Par défaut complexité boucles successives
    Bonjour à tous,

    Si dans un programme je fais appel successivement à 2 algos de complexité respective X et Y, quelle est la complexité résultante ?

    A chaque fois l'appel est effectué sur la même structure de taille N.

    Je songe à Z = max(X, Y), mais pas sûr.

    algoComplexitéX() {}

    algoComplexitéY() {}

    algoComplexitéZ() {
    algoComplexitéX()
    algoComplexitéY()
    }

    Merci.

    PS : Un exemple peut-être deux boucles for successsives sur un même tableau.

  2. #2
    Membre Expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Par défaut
    Bonsoir,

    Dans toute la suite je vais utiliser une notation ensembliste pour décrire une complexité et je vais juste prendre d'autres noms pour les algos :
    Nous avons donc un algorithme A de complexité CA(n)∈O(f(n)) et un algorithme B de complexité CB(n)∈O(g(n)). Si tu construis l'algorithme AB qui est simplement l'exécution de A suivie de l'exécution de B chacun avec des données de taille n, alors la complexité cumulée CAB(n) est bien CAB(n)∈O(max(f,g)(n)), avec la définition usuelle de max pour des fonctions comparables etc ... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    max(f,g) = | f, si ∃ N∈ℕ tq ∀ n>N on a f(n)≥g(n)
               | g, si ∃ N∈ℕ tq ∀ n>N on a g(n)≥f(n)
    Maintenant il peut arriver que tu n'obtiennes pas la meilleure borne dans le cas où tu donnes la sortie de A comme entrée de B.
    Prenons pour algorithme A le tri par tas HEAPSORT et pour algorithme B le tri par insertion INSERTIONSORT en mesurant la complexité usuelle mesurant le nombre de comparaisons d'élements, la taille de l'entrée est donnée par le nombre d'éléments du tableau.
    Nous avons donc CA(n)∈O(n log n) et CB(n)∈O(n²), ici nous avons dans le cas général CAB(n)∈O(n²) par application de la formule du max.
    Néanmoins si l'entrée de B est la sortie de A nous avons le cas particulier du tri d'un tableau déjà trié qui est en O(n) pour INSERTIONSORT, et toujours dans ce cas particulier nous aurons donc CAB(n)∈O(n log n)⊂O(n²)

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 136
    Par défaut
    Merci kwariz

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

Discussions similaires

  1. Complexité - Boucles Imbriquées
    Par Miistik dans le forum VBScript
    Réponses: 2
    Dernier message: 27/03/2013, 14h51
  2. Aide au calcul de la complexité de deux boucles imbriquées
    Par nono_31 dans le forum Mathématiques
    Réponses: 12
    Dernier message: 31/03/2011, 19h05
  3. Réponses: 2
    Dernier message: 18/09/2008, 12h22
  4. Boucle de boucle et complexite
    Par Clopatre dans le forum Langage
    Réponses: 3
    Dernier message: 22/11/2007, 14h37
  5. Complexité d'une boucle potentiellement infinie
    Par Hayato dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 06/09/2005, 11h55

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