Dijkstra Kürzester Weg Rechner
Finden Sie den kürzesten Weg zwischen Knoten in einem gewichteten Graphen mit dem Dijkstra-Algorithmus. Mit interaktiver Graph-Visualisierung, Schritt-für-Schritt-Verfolgung der Prioritätswarteschlange und Anzeige des kürzesten Pfadbaums.
Dein Adblocker verhindert, dass wir Werbung anzeigen
MiniWebtool ist kostenlos dank Werbung. Wenn dir dieses Tool geholfen hat, unterstütze uns mit Premium (werbefrei + schneller) oder setze MiniWebtool.com auf die Whitelist und lade die Seite neu.
- Oder auf Premium upgraden (werbefrei)
- Erlaube Werbung für MiniWebtool.com, dann neu laden
Dijkstra Kürzester Weg Rechner
Willkommen beim Dijkstra Kürzester Weg Rechner, einem interaktiven Tool zum Finden kürzester Pfade in gewichteten Graphen mit dem Dijkstra-Algorithmus. Egal, ob Sie Informatikstudent sind, der Graphentheorie lernt, ein Netzwerkprofi, der Routing-Protokolle analysiert, oder ein Entwickler, der Pfadfindung implementiert – dieser Rechner bietet eine visuelle Schritt-für-Schritt-Erkundung eines der grundlegendsten Algorithmen der Informatik.
Was ist der Dijkstra-Algorithmus?
Der Dijkstra-Algorithmus, 1956 vom niederländischen Informatiker Edsger W. Dijkstra erfunden, ist ein Graphen-Suchalgorithmus, der das Problem des kürzesten Pfades von einer einzelnen Quelle für einen gewichteten Graphen mit nicht-negativen Kantengewichten löst. Ausgehend von einem Startknoten findet er den kürzesten Pfad von diesem Knoten zu jedem anderen Knoten im Graphen.
Der Algorithmus arbeitet mit einer Menge unbesuchter Knoten und wählt wiederholt den unbesuchten Knoten mit der kleinsten vorläufigen Distanz aus (Greedy-Strategie). Das macht ihn sowohl elegant als auch effizient – sobald ein Knoten "besucht" ist, ist garantiert, dass seine kürzeste Distanz endgültig ist.
Pseudocode des Algorithmus
für jeden Knoten v in Graph:
dist[v] ← ∞
prev[v] ← undefiniert
dist[Quelle] ← 0
Q ← Prioritätswarteschlange aller Knoten
solange Q nicht leer ist:
u ← Knoten in Q mit minimaler dist[u]
entferne u aus Q
für jeden Nachbarn v von u, der noch in Q ist:
alt ← dist[u] + gewicht(u, v)
wenn alt < dist[v]:
dist[v] ← alt // Relaxation
prev[v] ← u
Rückgabe dist[], prev[]
Kernformel
Dabei gilt:
- d[u] = aktuell kürzeste bekannte Distanz von der Quelle zum Knoten u
- w(u, v) = Gewicht der Kante von u nach v
- d[v] = aktuell kürzeste bekannte Distanz von der Quelle zum Knoten v
So verwenden Sie diesen Rechner
- Graphenkanten definieren: Geben Sie Kanten im Format
Quelle, Ziel, Gewichtein, eine pro Zeile. Jede Zeile stellt eine Verbindung zwischen zwei Knoten dar. - Graphentyp wählen: Wählen Sie "Ungerichtet" für Zweiwege-Kanten (wie Straßen) oder "Gerichtet" für Einweg-Kanten (wie Flugrouten oder Weblinks).
- Startknoten festlegen: Geben Sie den Knoten ein, von dem aus alle kürzesten Pfade berechnet werden sollen.
- Kürzeste Pfade finden: Klicken Sie auf die Schaltfläche, um den Dijkstra-Algorithmus auszuführen. Erkunden Sie die interaktive Visualisierung, die Distanztabelle und die Ablaufverfolgung.
- Schritte durchlaufen: Verwenden Sie die Schaltflächen Weiter/Zurück, um die Ausführung des Algorithmus Schritt für Schritt zu sehen, wobei aktualisierte Knoten und Kanten in Echtzeit hervorgehoben werden.
Die Ergebnisse verstehen
Distanztabelle
Zeigt die kürzeste Distanz von der Quelle zu jedem Knoten zusammen mit dem vollständigen Pfad an. Mit ∞ markierte Knoten sind von der Quelle aus nicht erreichbar.
Graph-Visualisierung
Die interaktive Leinwand zeigt Ihren Graphen mit farblich gekennzeichneten Knoten und Kanten:
- Blauer Knoten = Startknoten (Quelle)
- Grüne Knoten = Besucht (Distanz finalisiert)
- Oranger Knoten = Wird aktuell verarbeitet
- Graue Knoten = Noch nicht besucht
- Grüne Kanten = Baum der kürzesten Pfade
Schritt-für-Schritt-Verfolgung
Zeigt die Ausführung des Algorithmus, einschließlich der Entnahmen aus der Prioritätswarteschlange, Kantenrelaxationen und Distanzaktualisierungen bei jedem Schritt. Dies ist ideal, um die Funktionsweise des Algorithmus zu verstehen.
Zeitkomplexität
Die Effizienz des Dijkstra-Algorithmus hängt von der Datenstruktur ab, die für die Prioritätswarteschlange verwendet wird:
| Prioritätswarteschlange | Zeitkomplexität | Am besten für |
|---|---|---|
| Binärer Heap | \( O((V + E) \log V) \) | Allgemeiner Einsatz, dünnbesetzte Graphen |
| Fibonacci-Heap | \( O(V \log V + E) \) | Dichte Graphen (theoretisch) |
| Array (kein Heap) | \( O(V^2) \) | Sehr dichte Graphen, kleines V |
Dabei ist V die Anzahl der Knoten und E die Anzahl der Kanten. Dieser Rechner verwendet eine Implementierung mit binärem Heap.
Gerichtete vs. Ungerichtete Graphen
- Ungerichteter Graph: Eine Kante zwischen A und B bedeutet, dass man sowohl A→B als auch B→A reisen kann. Beispiele: Straßennetze, Freundschaftsnetzwerke, elektrische Schaltkreise.
- Gerichteter Graph: Eine Kante von A nach B erlaubt nur die Reise A→B, nicht zwingend B→A. Beispiele: Hyperlinks im Web, Twitter-Follower, Flugrouten, Flussläufe.
Einschränkungen des Dijkstra-Algorithmus
- Keine negativen Gewichte: Der Dijkstra-Algorithmus liefert bei negativen Kantengewichten falsche Ergebnisse. Verwenden Sie Bellman-Ford für Graphen mit negativen Gewichten (aber ohne negative Zyklen).
- Einzelne Quelle: Er findet kürzeste Pfade von einer Quelle aus. Für kürzeste Pfade zwischen allen Paaren verwenden Sie Floyd-Warshall oder führen Sie Dijkstra für jeden Knoten aus.
- Keine negativen Zyklen: Negative Zyklen machen kürzeste Pfade undefiniert (man könnte den Zyklus unendlich oft durchlaufen, um die Distanz zu verringern).
Reale Anwendungen
GPS-Navigation
Kartendienste nutzen Varianten des Dijkstra-Algorithmus (oft mit A*-Heuristiken), um die schnellste Route zwischen zwei Orten zu finden. Straßenkreuzungen sind Knoten, und Straßenabschnitte sind gewichtete Kanten (nach Zeit oder Distanz).
Netzwerk-Routing
Internet-Routing-Protokolle wie OSPF (Open Shortest Path First) und IS-IS verwenden den Dijkstra-Algorithmus, um kürzeste Pfade durch Netzwerktopologien zu berechnen. Jeder Router baut einen Baum der kürzesten Pfade auf, um die Paketweiterleitung zu bestimmen.
Soziale Netzwerkanalyse
Finden des kürzesten Verbindungspfads zwischen Benutzern (Degrees of Separation), Berechnung von Zentralitätsmaßen und Identifizierung einflussreicher Knoten in einem Netzwerk.
Spieleentwicklung
Die Pfadfindung von NPCs in Videospielen nutzt den Dijkstra-Algorithmus oder A* (der Dijkstra um Heuristiken erweitert), um auf Karten zu navigieren und optimale Bewegungswege zu finden.
Lieferkette & Logistik
Optimierung von Lieferrouten, Wegen vom Lager zum Geschäft und multimodalen Transportnetzen, bei denen verschiedene Transportmethoden unterschiedliche Kosten verursachen.
Häufig gestellte Fragen (FAQ)
Was ist der Dijkstra-Algorithmus?
Der Dijkstra-Algorithmus ist ein Graphen-Suchalgorithmus, der den kürzesten Pfad von einem Startknoten zu allen anderen Knoten in einem gewichteten Graphen mit nicht-negativen Kantengewichten findet. Er nutzt eine Greedy-Strategie und eine Prioritätswarteschlange. Die Komplexität beträgt O((V + E) log V).
Kann der Dijkstra-Algorithmus negative Kantengewichte verarbeiten?
Nein, er erfordert nicht-negative Gewichte. Bei negativen Gewichten kann der Algorithmus Knoten zu früh als "abgeschlossen" markieren. Nutzen Sie in diesem Fall den Bellman-Ford-Algorithmus.
Was ist der Unterschied zwischen gerichteten und ungerichteten Graphen?
In gerichteten Graphen haben Verbindungen eine feste Richtung (Einbahnstraße), während in ungerichteten Graphen alle Verbindungen in beide Richtungen befahrbar sind.
Was ist Kantenrelaxation beim Dijkstra-Algorithmus?
Relaxation bedeutet zu prüfen, ob der Weg zu einem Knoten v über einen Knoten u kürzer ist als der bisher bekannte Weg zu v. Wenn ja, wird die Distanz zu v nach unten korrigiert (relaxiert).
Was ist ein Baum der kürzesten Pfade?
Ein SPT ist ein Teilgraph, der alle kürzesten Wege von einem Startknoten zu allen erreichbaren Zielen enthält. Er bildet eine Baumstruktur ohne Zyklen.
Was sind reale Anwendungen des Dijkstra-Algorithmus?
Er wird in der GPS-Navigation, im Internet-Routing, bei der Flugplanung, in der Logistik-Optimierung und bei der Pfadsuche in Computerspielen eingesetzt.
Zusätzliche Ressourcen
Zitieren Sie diesen Inhalt, diese Seite oder dieses Tool als:
"Dijkstra Kürzester Weg Rechner" unter https://MiniWebtool.com/de// von MiniWebtool, https://MiniWebtool.com/
vom miniwebtool-Team. Aktualisiert: 19. Feb. 2026
Sie können auch unseren KI-Mathematik-Löser GPT ausprobieren, um Ihre mathematischen Probleme durch natürliche Sprachfragen und -antworten zu lösen.