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écursif


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Par défaut Complexité d'un algorithme récursif
    Bonjour,

    J'ai créé un algorithme (récursif) qui calcule tous les chemins possibles à partir d'un point d'un graphe orienté, et j'observe qu'à partir de quelques dizaines de points, le temps d'exécutions le temps d'exécution devient trop long. Cela est dû au fait que le nombre de chemins possibles croît très vite dès qu'on rajoute des points.

    Mais peut-on dire que c'est lié à la complexité de l'algorithme? J'ai des difficultés avec ces notions, comment la calculer (approximativement?)? Elle dépend de la taille de la matrice d'adjacence et du nombre de tests qu'elle implique je présume.

    Merci

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Erable Voir le message
    Mais peut-on dire que c'est lié à la complexité de l'algorithme? J'ai des difficultés avec ces notions, comment la calculer (approximativement?)? Elle dépend de la taille de la matrice d'adjacence et du nombre de tests qu'elle implique je présume.
    Elle dépend surtout de l'algorithme.

    Approximativement, la complexité est N*C(f) avec N le nombre total d'appel récursif de la fonction f() et C(f) la complexité de la fonction f.

    Donc, en considérant que la fonction f() à toujours la meme complexité (= le meme traitement a chaque fois, on en déduit que la complexité dépend surtout du nombre d'appel récursif. Et là, il faut voir le détail de ton algo pour connaitre l'espace d'exploration (noeuds, arcs, ...) et en calculer la taille.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Par défaut
    Citation Envoyé par Erable Voir le message
    Bonjour,

    J'ai créé un algorithme (récursif) qui calcule tous les chemins possibles à partir d'un point d'un graphe orienté, et j'observe qu'à partir de quelques dizaines de points, le temps d'exécutions le temps d'exécution devient trop long. Cela est dû au fait que le nombre de chemins possibles croît très vite dès qu'on rajoute des points.

    Mais peut-on dire que c'est lié à la complexité de l'algorithme? J'ai des difficultés avec ces notions, comment la calculer (approximativement?)? Elle dépend de la taille de la matrice d'adjacence et du nombre de tests qu'elle implique je présume.

    Merci
    Dans le cas d'une explosion combinatoire le problème serait considéré NP-complet.

  4. #4
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Sinon par curiosité, que veux-tu dire par "qui calcule tous les chemins possibles à partir d'un point d'un graphe orienté" ? car tu parles de sommets mais pas d'arêtes. (en fait, c'est ton "le nombre de chemins possibles croît très vite dès qu'on rajoute des points" qui me fait douter )

    Est-ce que tu veux dire que tu fournis en entrée un graphe orienté ou bien seulement des sommets et que de là tu crées tous les chemins possibles, pour créer un graphe orienté ?
    D'ailleurs j'en profite pour demander un truc, est-ce qu'il y a un nom pour un graphe orienté dont toutes les paires de sommets sont reliées pas des arcs (i,j) et (j,i) ? Est-ce que c'est ça un graphe complet ?

Discussions similaires

  1. Algorithme récursif et calcul de complexité
    Par Lithrein dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 14/12/2011, 01h10
  2. 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
  3. [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
  4. 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
  5. problème algorithme récursif
    Par seb888 dans le forum Général Java
    Réponses: 11
    Dernier message: 04/06/2005, 21h35

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