[PB] algorithme de Dijkstra en C

algorithme de Dijkstra en C [PB] - C - Programmation

Marsh Posté le 22-04-2007 à 01:07:44    

Plop all,
 
Voilà en fait je souhaite réaliser une fonction en C qui trouve le plus court chemin entre deux points donnés d'un graphe. Jusque là c'est du vu et revu, seulement cette fonction recoit un char ** (une matrice quoi) avec les noms des points du graphe et a l'interieur 1 ou 0 selon s'il y a ou non un arc (une liaison quoi... entre ces deux points du graph).
vous me suivez ?
Ensuite, j'ai donc décidé d'utiliser l'algo de Dijkstra, seulement il n'y a pas de poids sur mes arcs, et là plus rien, ni google ni wiki ne m'a aider, je fais donc appel à tous vos neurones :D ! j'ai très bien saisi l'algo de D. seulement j'ai assez de mal à le coder. Si quelqu'un peut m'etre utile, je suis preneur.
 
Thx :jap:
Sid.

Reply

Marsh Posté le 22-04-2007 à 01:07:44   

Reply

Marsh Posté le 22-04-2007 à 01:50:06    

donc les aretes ont toutes un poids de '1'  (au hasard).
Eureka! [:tusken]


Message édité par schnapsmann le 22-04-2007 à 01:51:32
Reply

Marsh Posté le 22-04-2007 à 01:52:26    

oui oui c'est bien ca... donc en fait je vais tester tous les points un par un, et arriver jusqu'au bout en testant chacun des parcourts, seulement comment revenir en arriere quand tu est arrivé dans une impasse ou tout simplement a fini un parcourt ?

Reply

Marsh Posté le 22-04-2007 à 01:53:29    

ah oui ok je viens de comprendre lol... ouai elles ont toute un poinds de '1'...enfin ca m'avance pas... je le fais comment dijkstra avec ca ? c'est toujours le meme probleme

Reply

Marsh Posté le 22-04-2007 à 01:54:13    

l'algo s'implemente simplement en récursif...
Sur ce, je me retire, puisque tu as très bien saisi l'algorithme. Pas la peine d'envoyer de MP, merci d'avance :o

Message cité 1 fois
Message édité par schnapsmann le 22-04-2007 à 01:54:54
Reply

Marsh Posté le 22-04-2007 à 01:57:26    

schnapsmann a écrit :

Pas la peine d'envoyer de MP, merci d'avance :o


C'est pas mon genre...
 
Anything else ? :jap:

Reply

Marsh Posté le 22-04-2007 à 02:00:21    

Non, la maison ne fait pas les devoirs, même demandés d'une manière astucieuse. Devient plutot commercial, tu as l'air doué :o
(Si je me trompe, je m'excuse d'avance :o Désolé de ne pas te croire sur parole [:ojap])


Message édité par schnapsmann le 22-04-2007 à 02:00:35
Reply

Marsh Posté le 22-04-2007 à 02:11:51    

Si tu connaissais tout le projet (à savoir émulateur de HEX) tu reconnaitrais que répondre a CETTE question est bien loin de faire mon devoir... tu mettrais bien plus d'un mois à le finir :).
 
(je vois le close arriver gros comme une maison)
bon il se fait tard je code des if a la place de for, si jamais quelqu'un a une autre astuce que Dijkstra pour cette "petite" passe de mon projet (et je pese mes mots...) je suis preneur, bonne nuit.

Reply

Marsh Posté le 22-04-2007 à 10:38:13    

Où est le code ?


---------------
You get so used to things the way they are. And I've always been alone. I guess that makes me lonely.
Reply

Marsh Posté le 22-04-2007 à 13:00:33    

-Opera- a écrit :

Où est le code ?


du Hex ?  :heink:
j'essaie la methode Dijkstra sinon je ferai comme un arbre binaire... en allant au plus loin et en revenant tour a tour... enfin c'est galere quoi... je vois toujours pas comment ne pas partir en boucle infinie et tourner en rond etc...

Reply

Marsh Posté le 22-04-2007 à 13:00:33   

Reply

Marsh Posté le 22-04-2007 à 13:27:04    

mais attends le theroeme de Dijkstra y marche pas si toutes tes arretes sont ponderees a 1... puisque tu peux pas choisir entre tel ou tel point aller...

Reply

Marsh Posté le 22-04-2007 à 16:35:28    

oui mais si tu passe par deux aretes deux suite ca fait 2 :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed