1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
acyclicité (G):
queue <- priorityQueue vide
pour chaque sommet x de G:
ajouter x dans queue avec son nombre d'arêtes sortantes comme priorité
fin pour
tant que G n'est pas vide
choisir dans queue le sommet x de plus petite priorité
si x n'est pas une feuille
renvoyer Faux // G n'est pas acyclique
sinon
retirer x de G et de queue
pour chaque sommet y voisin entrant de x
supprimer l'arête (x, y) dans G
baisser la priorité de y de 1 dans queue
fin pour
fin si
fin tant que
renvoyer Vrai
fin |
Partager