Tout comme les FIFOs et LIFOs, les tas minimum stockent des éléments
Deux méthodes :
push
pop
“plus petit” doit être précisé
# Create a min-heap heap = new_heap()
[]
# Add elements to the heap push(heap, ("A", 50)) push(heap, ("B", 22)) push(heap, ("C", 10))
[('A', 50), ('B', 22), ('C', 10)]
# Extract smallest element from the heap pop(heap)
('A', 50)
L’algorithme de Dijkstra étend BFS aux graphes pondérés
Pensez à l’eau qui coule à travers le graphe à vitesse constante
Nous n’avons pas parlé des tables de routage mais vous en aurez besoin pour récupérer le chemin
Les tas minimum sont des structures de données qui extraient l’élément minimum
De nombreuses implémentations sont possibles, attention aux détails !
L’algorithme de Dijkstra est un parcours qui exploite les propriétés d’un tas minimum
Rappelez-vous la relation entre BFS/queue et DFS/stack