THÉORIE DES GRAPHES (3)
Michel Rigo
http://www.discmath.ulg.ac.be/
Année 2006–2007
TRI TOPOLOGIQUE
Algorithmique Théorie des graphes Analyse 1 Analyse 2 Analyse NumériqueCalculabilité
Algorithmique
Théorie des graphes
Calculabilité
Analyse 1
Analyse 2
Analyse Numérique
déterminer une indexation des sommets d’un graphe orienté
sans cycle de manière telle que s’il existe un arc de vià vj,
alors i <j.
TRI TOPOLOGIQUE
cas des graphes simples
LEMME
Si un graphe simple orienté G= (V,E)est sans cycle,
alors ∃vtel que d−(v) = 0 (resp. d+(v) = 0).
Considérons un chemin simple (x1,...,xk)de Gde longueur
maximale déterminé par des sommets de G.
Si d−(x1)>0, alors il existe y∈pred(x1).
Si y= un des xj, on aurait un cycle (y,x1,...,xj), impossible.
Or par maximalité du chemin (x1,...,xk), il n’est pas possible
d’avoir un sommet distinct des xjet tel que (y,x1)∈E.
TRI TOPOLOGIQUE
PROPOSITION
Un graphe simple orienté G= (V,E)est sans cycle SSI
∃v∈Vtel que d−(v) = 0 et ∀vtel que d−(v) = 0, le graphe
G−vest sans cycle.
⇒Si Gest sans cycle, on peut appliquer le lemme précédent.
Il existe un sommet vtel que d−(v) = 0.
De plus, tout sous-graphe G−vd’un graphe sans cycle Gest
sans cycle.
⇐Soit vun sommet tel que d−(v) = 0.
Par hypothèse, G−vest sans cycle.
Si Gpossède un cycle, ce dernier doit passer par v.
Si un cycle passe par v,d−(v)≥1. Impossible!
TRI TOPOLOGIQUE
Algorithme permettant de décider si un graphe est sans cycle.
Tant qu’il existe v∈Vtel que d−(v)=0,
G:=G−v
Si G=∅
alors sortie : "oui, Gsans cycle"
sinon sortie : "non, Gpossède un cycle"
COMPLEXITÉ
Si on implémente cet algorithme à l’aide de listes
d’adjacence,détecter vt.q. d−(v) = 0 nécessite de parcourir
l’ensemble du graphe.
Un tel parcours est effectué à chaque étape de la boucle.
Complexité est quadratique en #E+ #V.
1 / 124 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!