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

C Discussion :

Depth-First Search et plus long trajet


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Par défaut Depth-First Search et plus long trajet
    Bonjour,

    Je souhaiterais connaitre le chemin le plus long dans un graphe (avec un point de départ et d'arrivé quelconque), et j'ai pensé à utiliser un DFS. Est-ce la solution la plus simple et optimisée, selon vous?
    A vrai dire, je ne suis même pas sûr que cette solution soit fonctionnelle ; après avoir vu la vidéo suivante (www.youtube.com/watch?v=zLZhSSXAwxI), les chemin empruntés ne contiennent pas la solution.ul

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Que veux-tu précisément.
    Trouver le plus long chemin entre deux noeuds donnés? trouver la paire de noeud ayant la plus grande distance entre eux?

    Dans tous les cas, il faut choisir une représentation d'un chemin (avec sa longueur). Ca peut être une liste chainée de noeud.
    Commence peut-être par là?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Par défaut
    Je cherche à trouver la paire ayant la plus grande distance entre elle, de plus, les noeuds n'ont pas de poids (tous à 1).

    Pour l'instant, je stock mes noeuds de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    typedef struct s_node
    {
    	int id;
    	struct s_node *neighbor;
    } t_node;
    J'ai donc un tableau de nodes (je connais le nombre d'elements a l'avance), ayant chacun a l'intérieur une ID, et une liste chainée de node représentant leurs voisins (je ne connais pas le nombre de voisins a l'avance).

    en gros:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    t_node *node;
    node[0] = id:0, neighbor:2->3
    node[1] = id:1, neighbor:1->3
    node[2] = id:2, neighbor:0
    node[3] = id:3, neighbor:0->1
    par exemple.

    Voila, désolé pour les quelques imprécisions de mon premier message,
    merci d'avance pour vos conseils.

  4. #4
    Invité
    Invité(e)
    Par défaut
    BFS et DFS sont deux manières de parcourir un arbre/graphe. Mais il faudra malgré tout parcourir toute la structure pour connaitre le chemin (la branche) le plus long.

  5. #5
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Quelle est la volumétrie de noeuds et d'arêtes ? Quel est le temps approximatif qu'il ne faudrait pas dépasser ? De quelles ressources disposes-tu sur la machine (nombre de CPU, taille de RAM) ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Par défaut
    Quelle est la volumétrie de noeuds et d'arêtes ?
    Un nombre quelconque, mais en moyenne quelques dizaines.

    Quel est le temps approximatif qu'il ne faudrait pas dépasser ?
    Il n'y a pas réellement de temps, mais moins de trente secondes serait bien.

    De quelles ressources disposes-tu sur la machine (nombre de CPU, taille de RAM) ?
    3 Ghz et 8 Go.

Discussions similaires

  1. Depth first search sur les arbres binaires
    Par blackbird1 dans le forum C
    Réponses: 2
    Dernier message: 25/03/2015, 17h15
  2. breadth / depth first search
    Par hanadi_09 dans le forum Intelligence artificielle
    Réponses: 12
    Dernier message: 27/03/2010, 17h59
  3. imposer une hauteur de div meme si le texte est plus long
    Par bébé dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/08/2005, 11h29
  4. tyoe d'entier plus long que 32 bits
    Par LIMODIN dans le forum MFC
    Réponses: 4
    Dernier message: 13/01/2004, 20h08

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