DSA-SektionEinfach

Dijkstra

Detaillierte Anleitung und Python-Implementierung für das „Dijkstra“-Problem.

Problemstellung

Einfach

Schreiben Sie eine Funktion dijkstra(graph, start), die den kürzesten Pfad von einem Startknoten start zu allen anderen Knoten in einem gewichteten Diagramm berechnet. Der Graph wird als Adjazenzliste von Wörterbüchern dargestellt, wobei graph[u][v] das Gewicht der gerichteten Kante von u bis v ist. Gibt ein Wörterbuch der kürzesten Entfernungen zurück.

Einschränkungen
  • 1 <= V <= 1000
  • 0 <= E <= 5000
  • Weights are non-negative integers.

Beispiele

Example 1
Input
graph = {0: {1: 4, 2: 1}, 1: {3: 1}, 2: {1: 2, 3: 5}, 3: {}}, start = 0
Output
{0: 0, 1: 3, 2: 1, 3: 4}
Explanation

Shortest distance from 0 to 1 is 3 (via 0->2->1).

Need a Hint?
Erwägen Sie die Verwendung von Graphs-spezifischen Datenstrukturen wie Mengen oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Im Editor öffnen
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.