Sección DSAfácil

Dijkstra

Guía detallada e implementación Python para el problema 'Dijkstra'.

Declaración del problema

fácil

Escriba una función dijkstra(graph, start) que calcule la ruta más corta desde un nodo inicial start hasta todos los demás nodos en un gráfico ponderado. El gráfico se representa como una lista de diccionarios de adyacencia, donde graph[u][v] es el peso del borde dirigido de u a v. Devuelve un diccionario de distancias más cortas.

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

Ejemplos

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?
Considere la posibilidad de utilizar estructuras de datos específicas de Graphs, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el editor
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

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.