Partage
  • Partager sur Facebook
  • Partager sur Twitter

algorithme de Dijkstra

implante en c

    9 mars 2008 à 15:26:12

    je ne sais pas comment code l'algorithme de Dijkstra en c,s'il y a quelqu'un qui peut m'aider a le faire?

    merci
    • Partager sur Facebook
    • Partager sur Twitter
    zam
      9 mars 2008 à 15:35:10

      Ca fait quoi déja cet algorithme? Explique un peu
      • Partager sur Facebook
      • Partager sur Twitter
        9 mars 2008 à 15:46:42

        Bonjour, je pense que tu dois d'abord maitrisé les bases du c après essaye de traduire du Caml.
        • Partager sur Facebook
        • Partager sur Twitter
          9 mars 2008 à 16:56:52

          salut
          tu as juste a traduire le pseudo code en c :
          1. fonction Dijkstra (nœuds, fils, distance, debut, fin)
          2.   Pour n parcourant nœuds
          3.     n.parcouru = infini   // Peut être implémenté avec -1
          4.     n.precedent = 0
          5.   Fin pour
          6.   debut.parcouru = 0
          7.   PasEncoreVu = nœuds.enlever(debut)
          8.   Tant que PasEncoreVu != liste vide
          9.     n1 = minimum(PasEncoreVu)   // Le nœud dans PasEncoreVu avec parcouru le plus petit
          10.     PasEncoreVu.enlever(n1)
          11.     Pour n2 parcourant fils(n1)   // Les nœuds reliés à n1 par un arc
          12.       Si n1.parcouru > n2.parcouru + distance(n1, n2)   // distance correspond au poids de l'arc reliant n1 et n2
          13.         n1.parcouru = n2.parcouru + distance(n1, n2)
          14.         n1.precedent = n2   // Dis que pour aller à n1, il faut passer par n2
          15.       Fin si
          16.     Fin pour
          17.   Fin tant que
          18.   chemin = liste vide
          19.   n = fin
          20.   Tant que n != debut
          21.     chemin.ajouterAvant(n)
          22.     n = n.precedent
          23.   Fin tant que
          24.     chemin.ajouterAvant(debut)
          25. Retourner chemin
          26. Fin fonction Dijkstra


          bon ok c'est incompréhensible , mais essaye toujours :p

          • Partager sur Facebook
          • Partager sur Twitter

          algorithme de Dijkstra

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown