Warum funktioniert der Dijkstra-Algorithmus funktioniert?

Verstehe ich, was Der Dijkstra-Algorithmus ist, aber ich verstehe nicht, warum es funktioniert.

Bei der Auswahl des nächsten vertex zu untersuchen, warum Dijkstra ' s Algorithmus wählen Sie die mit dem kleinsten Gewicht? Warum nicht einfach wählen Sie einen Eckpunkt beliebig, da der Algorithmus besucht alle vertices überhaupt?

  • Danke für den link. Nach diesem wiki-Eintrag, wählen Sie die kleinste vertex macht Dijkstra "gierig". Ich denke, dass ich jetzt nachschlagen müssen die Vorteile, die ein greedy-Algorithmus.
  • der Begriff "gierig" bedeutet einfach, macht es die beste Wahl auf den gegenwärtigen moment. Geiz neigt dazu, ziemlich intuitiv und einfach zu implementieren, aber es ist auch nicht immer optimal (in diesem Fall ist es aber).
  • Versuchen Cormen Buch für eine bessere Erklärung auf why den greedy-Algorithmus geeignet ist...
  • Es wird nicht unbedingt besuchen Sie alle Scheitelpunkte. In der wikipedia-Seite verlinkt, beachten Sie die animation oben. Der rechten Ecke die Sie nicht besucht haben (obwohl es als an einer Stelle durch einen Nachbarn von einer besuchten vertex)
  • Ich denke nicht, dass es auszuwählen Kante mit dem kleinsten Gewicht, aber sucht ein, die die Entfernung zwischen dem aktuellen Knoten und den Scheitelpunkt.
  • Ich sehe, ja. Das ist ein wichtiger Punkt.

InformationsquelleAutor BeeBand | 2010-05-18
Schreibe einen Kommentar