Section DSAFacile

Dijkstra

Guide détaillé et implémentation de Python pour le problème 'Dijkstra'.

Énoncé du problème

Facile

Écrivez une fonction dijkstra(graph, start) qui calcule le chemin le plus court depuis un nœud de départ start vers tous les autres nœuds dans un graphe pondéré. Le graphique est représenté comme une liste de dictionnaires de contiguïté, où graph[u][v] est le poids de l'arête dirigée de u à v. Renvoie un dictionnaire des distances les plus courtes.

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques à Graphs, telles que des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.