Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1578 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Algorithme de graphe qui ne s'arrête pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Algorithme de graphe qui ne s'arrête pas

n°1826249
gorion18
Posté le 12-12-2008 à 17:24:24  profilanswer
 

Bonjour.
 
Alors voila mon problème. Je dispose d'un graphe non-orienté stocké sous la forme de matrice.
Je dois mettre en place sur ce graphe un algorithme permettant de trouver le meilleur chemin MAIS en énumérant tous les chemins possibles (sans repasser sur un chemin déja visité) (donc Dijkstra n'est à mon avis pas adapté).  
J'ai déja pensé à une solution mais celle-ci me pose quelques difficultés :  

Code :
  1. public void methodeUn()
  2. {
  3.  for(int i=0;i<this.nb_sommets;i++)
  4.  {
  5.   for(int j=0;j<this.nb_sommets;j++)
  6.   {
  7.    if(i!=j)
  8.    {
  9.     boolean[] visiteMethodeUn = new boolean[this.nb_sommets];
  10.     String chemin = "";
  11.     profondeurMethodeUn(i+1, j+1, visiteMethodeUn, chemin);
  12.    }
  13.   }
  14.  }
  15. }
  16. private void profondeurMethodeUn(int sommet,int sommet_fin, boolean visiteMethodeUn[], String chemin)
  17. {
  18.  visiteMethodeUn[sommet]=true;
  19.  chemin += " "+sommet;
  20.  for(int i=0; i<nb_sommets;i++)
  21.  {
  22.   if(this.graphe[sommet-1][i] != Graphe.couple_infini && this.graphe[sommet-1][i] != Graphe.couple_zero && !visiteMethodeUn[i])
  23.   {
  24.    if(i+1 == sommet_fin)
  25.    {
  26.     System.out.println(chemin + " "+sommet_fin);
  27.     break;
  28.    }
  29.    else
  30.    {
  31.     profondeurMethodeUn(i+1,sommet_fin,visiteMethodeUn,chemin);
  32.    }
  33.   }
  34.  }
  35. }


 
J'ai tenter d'utiliser une sorte de parcours en profondeur mais qui envoi à chaque fois le tableau de booléen pour savoir si un sommet a déja été visité
(on peut dire qu'un tableau est associé à chaque chemin). Le but est que arrivé à la fin du chemin, celui-ci soit affiché(on stock à chaque étape le numéro du sommet pour cela). Voila je ne vois pas trop pourquoi cela ne marche pas et j'avoue que depuis le temps que je suis sur ce programme, il est fortement possible qu'une petite erreur m'est échappée.
 
Merci de votre aide
 
Cordialement

mood
Publicité
Posté le 12-12-2008 à 17:24:24  profilanswer
 

n°1826316
fleure2008
Posté le 12-12-2008 à 21:23:43  profilanswer
 

bonsoir gorion18 ,j'ai vue votre message,et puisque je cherche un moyen pour déssiner un graphe peut etre vous m'aider dans ma recherche.
j'ai des information que je veux les représentées sous forme d'un graphe ou un réseau;pouvez vous m'envoyé un code pour commencer.  
merci et bon courage.

n°1826324
gorion18
Posté le 12-12-2008 à 21:57:09  profilanswer
 

Désolé je ne pense pas pouvoir vous aider sur la partie graphique car mon but est purement algorithmique et je n'effectue donc aucun affichage mise a part sous la forme d'une succession de sommet.
 
En revanche si quelqu'un pense avoir une solution à mon problème je suis preneur.
 
Merci

n°1826377
el muchach​o
Comfortably Numb
Posté le 13-12-2008 à 07:16:16  profilanswer
 

Affiche tous les sommets que parcourt ton algo au fur et à mesure, tu devrais pouvoir voir pourquoi le parcours par en boucle infinie.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Algorithme de graphe qui ne s'arrête pas

 

Sujets relatifs
dessiner un grapheOptimisation algorithme d'érosion
Calculer la complexité temporelle d'un algorithmedéssiner un graphe
[EXCEL/VBA] 'lire' dans un grapheRecherche un algorithme de cryptage/décryptage costaud
tour de hanoi(algorithme recursif)Java - Afficher un graphe et rendre interactif
Algorithmeaidez moi pour resoudre cet algorithme
Plus de sujets relatifs à : Algorithme de graphe qui ne s'arrête pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR