Aller au contenu

Algorithme de Dijkstra

Plus court chemin pondéré

Exercice Avancé · Graphes · prepa scientifique et economique (CPGE)

Enonce

G = {0:[(1,4),(2,1)], 1:[(3,1)], 2:[(1,2),(3,5)], 3:[]}

Implémenter dijkstra(G, source) → dict des distances minimales.

Signature attendue

def dijkstra(G: dict, source: int) -> dict:

📖 Rappel de cours

Invariant :

Tout sommet extrait du tas a sa distance définitive.

$O\bigl((|V|+|E|)\log|V|\bigr)$

⚠ Le piège : L'algorithme suppose des poids positifs : avec une arête négative, un sommet déjà extrait pourrait être amélioré plus tard, et l'invariant tombe. Dans ce cas il faut Bellman-Ford. Réciproquement, sur un graphe non pondéré, un simple parcours en largeur suffit et coûte moins cher.

← Exercices sur les graphes en Python — BFS, DFS, Dijkstra

Exercices du meme theme

  • BFS et DFS
  • Composantes Connexes
  • Détection de Cycle dans un Graphe Non Orienté
  • Tri Topologique

La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Essai gratuit
Testez toutes les fonctionnalités sans engagement
En continuant, vous acceptez notre politique de confidentialité.
Déjà abonné ? Se reconnecter
Recevez un lien de connexion par email
Parcourir gratuitement →
Aperçu limité · sans inscription · sans vérification IA
€4,99
/ mois · accès illimité · résiliable
Paiement sécurisé
En vous abonnant, vous acceptez nos conditions et politique de confidentialité.
Résiliation possible depuis votre espace PayPal.

Chargement...

Initialisation de l'environnement

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Progression
0 / 0
Solo
— / —
Python... SQL...
Recherche
🔬 Bac a sable Python ↗ 🧪 Bac a sable SQL ↗ 📝 Concours blanc ↗ 🏖️ Code à la plage ↗ 📚 Listes de rentrée ↗ 🛠️ Admin ↗
Tu aimes PrepaPython ?
Fais-le savoir !
← Retour à l'accueil Mentions legales & confidentialite