• Aucun résultat trouvé

Th´eorie des graphes (2)

N/A
N/A
Protected

Academic year: 2022

Partager "Th´eorie des graphes (2)"

Copied!
125
0
0

Texte intégral

(1)

Th´ eorie des graphes (2)

Michel Rigo

http://www.discmath.ulg.ac.be/

Ann´ee 2015–2016

(2)

Sous-graphe

&

Forte connexit´e

(3)

Sous-graphe

D´efinition

Soit G = (V,E) un graphe (orient´e ou non).

Le graphe G = (V,E)est un sous-graphede G si

V ⊆V,

E ⊆E ∩(V×V).

! Si on enl`eve un sommet v deG, il faut enlever tous les arcs incidents `a v.

D´efinition

G est unsous-graphe proprede G si E(E ouV(V.

(4)

Sous-graphe

(5)

Sous-graphe

(6)

Sous-graphe

(7)

Sous-graphe

(8)

Sous-graphe

(9)

Sous-graphe

(10)

Sous-graphe

Notation

G−e sous-graphe G deG obtenu en supprimant l’arce,

G−v sous-graphe G obtenu en supprimant le sommetv et les arcs adjacents,

G =G+e graphe obtenu par adjonction `aG d’une arˆete,

G =G+v graphe obtenu par adjonction `aG d’un sommet.

Extension : si W ={v1, . . . ,vk} ⊆V, alors G−W est le sous-graphe

(· · ·((G−v1)−v2)· · · −vk−1)−vk :=G−v1− · · · −vk. On proc`ede de mˆeme pour un ensemble fini d’arcs et

on introduit la notation G−F pour F ⊂E.

(11)

Sous-graphe

D´efinition

W ⊆V. Lesous-graphe deG induitparW est

le sous-graphe G = (W,E) avecE=E ∩(W ×W).

D´efinition

Si W ⊆V est tel que le sous-graphe induit parW ne contient aucune arˆete, alors les sommets de W sont ditsind´ependants.

α(G) = nombre maximal de sommets ind´ependants deG

(12)

Sous-graphe

D´efinition

Soient G= (V,E) un graphe et G= (V,E) un sous-graphe.

G est unsous-graphe couvrant G, si V=V et si

∀v ∈V,∃z ∈V :{z,v} ∈E.

On dira que E est unecouverture (par des arˆetes) de G i.e., tout sommet de G est une extr´emit´e d’une arˆete de E. Notion duale :W ⊂V est une couverture (par des sommets) si toute arˆete a une extr´emit´e dans W.

(13)

Sous-graphe

(14)

Sous-graphe

(15)

Sous-graphe

(16)

Coupes, points d’articulation, k -connexit´ e

D´efinition

Soit G = (V,E) un multi-graphe non orient´e.

v est unpoint d’articulation, (cut vertex)

si #comp. connexes deG−v >#comp. connexes de G.

Si G connexe et n’a aucun point d’articulation, alors G est au moins2-connexe(pour les sommets).

(17)

Coupes, points d’articulation, k -connexit´ e

(18)

Coupes, points d’articulation, k -connexit´ e

D´efinition

multi-graphe connexe G = (V,E) W ⊂V ensemble d’articulation deG

si G−W n’est plus connexe ou r´eduit `a un sommet.

κ(G)= taille minimale d’un ensemble d’articulation de G, κ(Kn) =n−1.

D´efinition

Pour un multi-graphe G non connexe, W est unensemble d’articulation

si #comp. connexes deG−W >#comp. connexes de G.

κ(G) = 0car non connexe.

(19)

Coupes, points d’articulation, k -connexit´ e

Terminologie

Si κ(G) =k ≥1,H est k-connexe(pour les sommets).

κ(G) =k :

quels que soient lesk−1sommets supprim´es,G reste connexe

il est possible de supprimerk sommets “bien choisis” pour disconnecter G (ou le rendre trivial).

G est au moinsk-connexe:κ(G)≥k. Remarque

Si G est au moins (k+ 1)-connexe, alors il est au moins k-connexe

(20)

Coupes, points d’articulation, k -connexit´ e

Un graphe 2-connexe

(21)

Coupes, points d’articulation, k -connexit´ e

notion analogue pour les arˆetes D´efinition

Soit G = (V,E) un multi-graphe non orient´e.

e est unearˆete de coupure (bridge, cut-edge, isthmus) si #comp. connexes deG−e >#comp. connexes deG.

(22)

Coupes, points d’articulation, k -connexit´ e

Proposition

Une arˆete e est une arˆete de coupure du grapheH = (V,E) SSI e n’appartient `a aucune piste ferm´ee deH.

⇒ Si e est une arˆete de coupure

∃ sommetsu etv connect´es dansH

mais qui ne sont plus connect´es dans H −e.

(23)

Coupes, points d’articulation, k -connexit´ e

Il existe un chemin joignant u et v qui passe pare.

e e1

v u

e2

DansH −e,

une partie de ce chemin joint u `a une extremit´e de e :e2 l’autre partie du chemin joint v `a l’autre extr´emit´e de e :e1. P.A. Sie appartient `a une piste ferm´ee, il existe un chemin joignant e1 `a e2 et ne passant pas pare.

u et v sont encore connect´es dans H −e, impossible !

(24)

Coupes, points d’articulation, k -connexit´ e

R´eciproque. Supposons que e={e1,e2} n’est pas une arˆete de coupure.

H etH −e ont les mˆemes composantes connexes.

❀ les extr´emit´es de e restent connect´ees dansH −e.

Ainsi, dansH,e appartient `a une piste ferm´ee.

(25)

Coupes, points d’articulation, k -connexit´ e

D´efinition

Soit G = (V,E) un multi-graphe non orient´econnexe.

F ⊂E est unensemble de coupure, une coupe, une coupure si F est un ensemble minimal(pour l’inclusion)

tel que G−F n’est pas connexe.

λ(G) = taille minimale d’une coupe On rencontre aussi la notationκ(H).

(26)

Coupes, points d’articulation, k -connexit´ e

D´efinition

Soit G = (V,E) un multi-graphe non orient´enon connexe.

F ⊂E est unensemble de coupure, une coupe, une coupure si F est un ensemble minimal(pour l’inclusion) tel que

# comp. connexes deG−F >#comp. connexes de G.

On pose λ(G) = 0 car G non connexe.

(27)

Coupes, points d’articulation, k -connexit´ e

D´efinition

Si λ(G) =k ≥1 :H est k-connexe (pour les arˆetes).

λ(G) =k :

quelles que soient lesk−1arˆetes supprim´ees,G reste connexe

il est possible d’enlever k arˆetes ”bien choisies” pour le disconnecter.

G est au moinsk-connexe(pour les arˆetes) : λ(G)≥k.

! k-connexit´e pour les sommets 6=k-connexit´e pour les arˆetes

(28)

Coupes, points d’articulation, k -connexit´ e

Probl`eme des sens uniques

Graphe non orient´e connexe. On d´esire orienter ses arˆetes pour obtenir un graphe f. connexe.

Les arˆetes de coupure doivent n´ecessairement ˆetre remplac´ees par deux arcs (pas de sens unique).

Les autres arˆetes appartiennent toutes `a une piste ferm´ee qu’il est ais´e d’orienter (cr´eation de sens uniques).

(29)

Coupes, points d’articulation, k -connexit´ e

Un autre exemple

(30)

Coupes, points d’articulation, k -connexit´ e

Un autre exemple

(31)

Th´eor`eme de Robbins

On peut orienter un graphe connexe pour le rendre f. connexe SSI ce graphe est au moins 2-connexe pour les arˆetes.

(32)

Coupes, points d’articulation, k -connexit´ e

κ(G) = 1et λ(G) = 2 :

κ(G) = 1et λ(G) =k :

(33)

Coupes, points d’articulation, k -connexit´ e

Mˆeme avec un graphe simple : pas de lienentre λ(G) etκ(G).

Ici, λ(G) = 4 et κ(G) = 1:

Remarque

Si degv =k, supprimer lesk arˆetes incidentes `av isolev

λ(G)≤min

v∈Vdeg(v).

(34)

D´efinition

Une clique d’un graphe non orient´e et simpleG = (V,E) est un sous-graphe complet de G.

La tailled’une clique est le nombre de sommets qui la composent.

ω(G) = taille maximale d’une clique deG.

(35)

Th´ eor` eme(s) de Menger

Un autre r´esultat, pour information, sans preuve.

On consid`ere des graphes simples non orient´es

— aucune diff´erence pour des multi-graphes.

D´efinition

Soient un graphe G = (V,E) et u,v 2 sommets distincts deG.

Un sous-ensemble S ⊆V \ {u,v} s´epareu etv s’il n’existe aucun chemin joignant u et v dans le sous-graphe de G induit par V \S. D´efinition

Deux chemins joignant u et v sontind´ependants si les seuls sommets qu’ils ont en commun sont u etv.

(36)

Th´ eor` eme(s) de Menger

Th´eor`eme de Menger (1927)

Soient u,v deux sommets non adjacents d’un graphe connexe.

La taille minimum d’un ensemble de sommetss´eparant u et v

=

le nombre max. de chemins 2`a 2ind´ependantsjoignant u et v.

(37)

Th´ eor` eme(s) de Menger

u

v

(38)

Th´ eor` eme(s) de Menger

u

v

(39)

Th´ eor` eme(s) de Menger

u

v

(40)

Th´ eor` eme(s) de Menger

u

v

(41)

Th´ eor` eme(s) de Menger

u

v 1

(42)

Th´ eor` eme(s) de Menger

u

v 2

1

(43)

Th´ eor` eme(s) de Menger

u

v 2

3 1

(44)

Th´ eor` eme(s) de Menger

Corollaire, Menger (1927) Soit k ≥2.

Un graphe G= (V,E) est au moinsk-connexe (pour les sommets) SSI

toute paire de sommets distincts de G est connect´ee par au moins k chemins ind´ependants.

(45)

Tri topologique

(46)

Tri topologique

Algorithmique Théorie des graphes Analyse 1 Calculabilité Analyse 2 Analyse Numérique Algorithmique

Théorie des graphes Calculabilité

Analyse 1

Analyse 2 Analyse Numérique

d´eterminer une indexation des sommets d’un graphe orient´e sans cycle de mani`ere telle que s’il existe un arc devi `avj, alorsi <j.

(47)

Tri topologique

MATH069-1

MATH0701-1 MATH071-1

MATH072-1

MATH1472-1 MATH0248-1

MATH0499-1 MATH2011-1

MECA4749-1 PHYS2002-3

MATH1203-1

MATH257-2 MATH247-4 MATH2006-2

MATH0482-3

MATH0473-1 MATH0251-1

MATH0474-1

MATH503-1

sous-graphe des pr´erequis, bachelier sc. math., 2015–2016

(48)

Tri topologique

On peut se limiter au cas des graphes simples.

Lemme

Si un graphe simple (fini) orient´eG = (V,E) est sans cycle, alors ∃ v tel qued(v) = 0 (resp. d+(v) = 0).

Consid´erer un chemin simple (x1, . . . ,xk) de G delongueur maximaled´etermin´e par des sommets de G.

(49)

Tri topologique

Proposition

Un graphe simple (fini) orient´e G= (V,E)est sans cycle SSI

∃v∈V tel qued(v) = 0 et

∀v tel qued(v) = 0, le graphe G−v est sans cycle.

⇒ D´ecoule du lemme pr´ec´edent.

⇐ Soit v un sommet tel qued(v) = 0.

Par hypoth`ese, G−v est sans cycle.

Si G poss`ede un cycle, ce dernier doit passer parv.

Si un cycle passe parv,d(v)≥1. Impossible !

(50)

Tri topologique

Algorithme permettant de d´ecider si un graphe est sans cycle.

Tant qu’il existe v ∈V tel que d(v)=0, G:=G−v

Si G=∅

alors sortie : "oui, G sans cycle"

sinon sortie : "non, G poss`ede un cycle"

Complexit´e

Une impl´ementation `a l’aide de listes d’adjacence,

pour d´etecter v t.q. d(v) = 0, on parcourt l’ensemble du graphe.

Un tel parcours est effectu´e`a chaque ´etape de la boucle.

❀ Complexit´e quadratique en#E + #V.

(51)

Tri topologique

Th´eor`eme

Un graphe simple (fini) orient´e G= (V,E)est sans cycleSSI il est possible d’´enum´erer les sommets de V ={v1, . . . ,vn} t.q.

∀i = 1, . . . ,n, le demi-degr´e entrant devi restreint au graphe Gi =G−v1− · · · −vi−1 soit nul :dG

i(vi) = 0.

⇒ Supposons G sans cycle.

Par le lemme ..., ∃v1 deG =G1 tel que d(v1) =dG1(v1) = 0.

Par la prop..., G1−v1 =G2 est sans cycle.

Par le lemme ..., ∃v2 tel quedG

2(v2) = 0.

...

De proche en proche, on obtient l’´enum´eration propos´ee.

(52)

Tri topologique

⇐ Supposons disposer d’une ´enum´eration des sommets ayant les propri´et´es indiqu´ees. Proc´edons par r´ecurrence.

Gn est restreint `a l’unique sommet vn :sans cycle.

Gn−1 contient les sommets vn etvn−1 et dG

n1(vn−1) = 0.

Gn−1 poss`ede au mieux un arc devn−1 `a vn :sans cycle.

Appliquons ce raisonnement pour une ´etapei quelconque.

Si le graphe Gi+1 est sans cycle,

alors Gi se compose du graphe Gi+1 auquel on ajoute vi et ´eventuellement des arcs de vi vers les sommets deGi+1. On en conclut que Gi est sans cycle.

(53)

Tri topologique

Algorithme bas´e sur le thm.

La variable dassoci´ee `a chaque sommet stocke le demi-degr´e entrant (du graphe envisag´e au moment de la construction).

Pour tout v∈V, initialiser d(v)=0 Pour tout v∈V,

Pour tout w ∈succ(v), d(w)=d(w)+1 aTraiter := ∅

nbSommet := 0 Pour tout v∈V,

Si d(v) = 0, alors

aTraiter=aTraiter∪{v} nbSommet:=nbSommet+1

(54)

Tri topologique

Tant que aTraiter 6= ∅, faire

Soit v, le premier ´el´ement de aTraiter Enum´erer/Print v

aTraiter := aTraiter \{v}

Pour tout w ∈Succ(v), faire d(w)=d(w)-1

si d(w)=0, alors

aTraiter=aTraiter∪{w} nbSommet := nbSommet+1 Si nbSommet=#V

alors sortie : "oui, G sans cycle"

sinon sortie : "non, G poss`ede un cycle"

(55)

Tri topologique

D´efinition

Soit G = (V,E) un graphe simple orient´e.

Un tri topologiquede G est une ´enum´erationv1, . . . ,vn deV t.q.

si (vi,vj) est un arc deG, alorsi <j. Th´eor`eme

Un graphe simple orient´e admet un tri topologique SSI il est sans cycle.

Si un graphe poss`ede un cycle, alors quelle que soit l’´enum´eration de ses sommets, il ne peut s’agir d’un tri topologique.

Si un graphe est sans cycle, alors une ´enum´eration de ses sommets donnant lieu `a un tri topologique est donn´ee par le thm. pr´ec´edent.

(56)

Tri topologique

Remarque

Il n’y a pas qu’un seul tri topologique pour un graphe donn´e G = (V,E). En effet, si on d´enote par

S(G) ={v∈V |d(v) = 0}

l’ensemble des sourcesde G, alors l’ensemble des tris topologiques de G est donn´e par la formule r´ecursive suivante

Π(G) = [

vS(G)

{v.σ|σ∈Π(G−v)}

o`u σ est un tri topologique deG−v et o`u v.σ d´esigne

l’´enum´eration des sommets deG en d´ebutant parv puis en suivant l’´enum´eration prescrite par σ.

(57)

Arbres

(58)

Arbres

D´efinition

Un arbreest un graphe simple non orient´e connexe et sans cycle (i.e., sans circuit simple) Une forˆet est un graphe simple non orient´e dont chaque composante connexe est un arbre.

Un arbre A= (V,E) n-aireest t.q.

pour tout sommet v ∈V,deg(v)≤n.

(59)

Arbres

Dans un arbre :

Toute paire de sommets distincts de G est connect´ee par exactement un chemin simple.

Les arˆetes d’un arbre sont toutes des arˆetes de coupure.

Soit e∈(V ×V)\E qui n’est pas une boucle. Le graphe G+e contient une piste ferm´ee, c’est-`a-dire,G+e n’est plus un arbre.

R´eciproquement, un graphe connexe dont toutes les arˆetes sont des arˆetes de coupure est un arbre.

(60)

Arbres

Lemme

Tout arbre non trivial (non r´eduit `a un sommet) contient un sommet de degr´e1.

❀ Si un graphe connexe est tel que tout sommet est de degr´e≥2, alors ce graphe contient un cycle.

Lemme

Si A= (G,V) est un arbre, alors#V = #E+ 1.

Preuve par r´ecurrence sur#V.

OK pour #V = 1 (graphe trivial) ou#V = 2(K2).

Si OK pour n, est-ce OK pourn+ 1?

A poss`ede un sommet v de degr´e 1, le graphe A−v est encore un arbre et on applique l’hypoth`ese de r´ecurrence.

(61)

Arbres

Proposition

Un graphe est connexe SSI il poss`ede un sous-arbre couvrant.

⇐ Clair.

⇒ Soient G= (V,E) un graphe connexe et C = (V,E) un sous-graphe couvrant connexe minimal(i.e., on ne peut pas remplacer E par un sous-ensemble strict et garder la connexit´e).

Vu la minimalit´e de C, chacune de ses arˆetes est unearˆete de coupure deC.❀ C est un arbre.

Corollaire

Si G = (V,E)est un graphe (simple non orient´e) connexe, alors

#E ≥#V −1.

G poss`ede un sous-arbre couvrant C = (V,E). De l`a, il vient

#E ≥#E = #V −1

(62)

SpanningTree(G) 1 Choose a vertexv;

2 Component ← {v};New ← {v};Edges ← ∅; 3 while New 6=∅,

4 doNeighbors ← ∅;

5 for allu∈New,

6 doNeighbors ←Neighbors∪ν(u); 7 New ←Neighbors \Component;

8 for allv ∈New,

9 dochoose an edge {u,v}withu ∈Component; 10 Edges ←Edges∪ {{u,v}};

11 Component ←Component∪New; 12 if Component 6=V(G)

13 then return ’Error :G is not connected’ ; 14 else return (Component,Edges);

(63)

Si on dispose d’un graphe connexe pond´er´ee

❀ recherche d’un sous-arbre couvrant de poids minimum

Algorithme de Prim (mˆeme philosophie que Dijkstra) Jarn´ık–Prim–Dijkstra algorithm

Algorithme de Kruskal

...

(64)

Arbres

D´efinition

Un arbre A= (V,E) avec un sommet privil´egi´ev0 est un arbre point´e:(A,v0)et v0 est laracine de l’arbre.

sommets de A ordonn´es selon leur distance `av0. Si d(v0,v) =i v est un sommet de niveaui.

v0

1

2

4 3

(65)

Arbres

D´efinition

Si v est un sommet de niveaui et si tous ses voisins sont de niveaui −1, on dit alors quev est une feuillede l’arbre.

La hauteurd’un arbre est le niveau maximal de ses feuilles.

D´efinition

Pointer un arbre d´efinit une orientationdes arˆetes :

orienter les arcs de fa¸con `a ce qu’ils joignent les sommets de niveau i aux sommets de niveaui+ 1.

fils (resp. p`ere) d’un noeud v : ses successeurs (resp. son unique pr´ed´ecesseur).

descendants (resp. ancˆetres) dev : les ´el´ements de succ(v) (resp. pred(v)).

(66)

Arbres

D´efinition

Un arbre point´e est k-aire si tout sommet a au plusk fils.

Si k = 2, on parle d’arbre binaire.

Un arbre k-aire de hauteurn poss`ede au plus 1 +k+· · ·+kn = kn−1

k−1

sommets. S’il en poss`ede exactement ce nombre, on parle d’arbre k-airecomplet.

(67)

Parcours d’arbres

ordonner les noeuds : on suppose que les fils d’un noeud vi sont ordonn´es vi,1, . . . ,vi,ki.

Cet ordre est connu et fix´e une fois pour toutes.

Parcours en profondeur

parcours pr´efixe :d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es de racine respective v0,1, . . . ,v0,k0.

parcours suffixe : d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racinev0,1, . . . ,v0,k0,puis la racinev0.

parcours infixe(arbre binaire) : d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre dedroit (Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

(68)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

g h i j k

e f d

b a

c

l

.

(69)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

i j k

e f b c d

g h

l a

a

(70)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

i j k

e f c d

g h

l a b

a,b

(71)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

i j k

e f c

g

a b d

h l

a,b,d

(72)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

i j k

e f c a b d

h l g

a,b,d,g

(73)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

i j k

e f c a b d

g h

l

a,b,d,g

(74)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

i j k

e f c a b d

g h

l

a,b,d,g,h

(75)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

i j k

e f c a b d

g h

l

a,b,d,g,h,l

(76)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

a b d

g h

l

c

e f

i j k

a,b,d,g,h,l

(77)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

j a

b d

g h

l

c f

k e

i

a,b,d,g,h,l,c

(78)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

j a

b d

g h

l

c f i k

e

a,b,d,g,h,l,c,e

(79)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

j a

b d

g h

l

c f

k e

i

a,b,d,g,h,l,c,e,i

(80)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

a b d

g h

l

c e

i

f

j k

a,b,d,g,h,l,c,e,i

(81)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

a b d

g h

l

c e

i

f j k

a,b,d,g,h,l,c,e,i,f

(82)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

a b d

g h

l

c e

i

f j k

a,b,d,g,h,l,c,e,i,f,j

(83)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

a b d

g h

l

c e

i

f

j k

a,b,d,g,h,l,c,e,i,f,j

(84)

Parcours d’arbres

parcours pr´efixe

d’abord la racinepuis, de mani`ere r´ecursive, les sous-arbres point´es

a b d

g h

l

c e

i

f

j k

a,b,d,g,h,l,c,e,i,f,j,k

(85)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

g h i j k

e f d

b a

c

l

.

(86)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

i j k

e f a b c d

g h

l

.

(87)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

i j k

e f a

c d

g h

l b

.

(88)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

i j k

e f a

c

g

b d

h l

g

(89)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

i j k

e f a b c d

h l g

g

(90)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

i j k

e f a b c d

g h

l

g,l

(91)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

i j k

e f a b c d

g h

l

g,l,h

(92)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

i j k

e f a b c

g

l h d

g,l,h,d

(93)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

i j k

e f a

c

g

l h b d

g,l,h,d,b

(94)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

a

g

l h d

b c

e

i j

f k

g,l,h,d,b

(95)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

a

g

l h d

b

f

j k

c e

i

g,l,h,d,b

(96)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

a

g

l h d

b

f

j k

c

i e

g,l,h,d,b,i

(97)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

a

g

l h d

b

f

j k

c

i e

g,l,h,d,b,i,e

(98)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

a

g

l h d

b c

i

e f

j k

g,l,h,d,b,i,e

(99)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

a

g

l h d

b c

i

e f

j k

g,l,h,d,b,i,e,j

(100)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

a

g

l h d

b c

i

e f

j k

g,l,h,d,b,i,e,j,k

(101)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

a

g

l h d

b c

i e

j f

k

g,l,h,d,b,i,e,j,k,f

(102)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

a

g

l h d

b

i e

j k

f c

g,l,h,d,b,i,e,j,k,f,c

(103)

Parcours d’arbres

parcours suffixe

d’abord, de mani`ere r´ecursive, les sous-arbres point´es de racine v0,1, . . . ,v0,k0,puis la racinev0.

g

l h d

b

i e

j k

f a

c

g,l,h,d,b,i,e,j,k,f,c,a

(104)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g h i j k

e f d

b a

c

l

.

(105)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

i j k

e f a b c d

g h

l

.

(106)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

i j k

e f a

c d

g h

l b

.

(107)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

i j k

e f a

c

g

b d

h l

g

(108)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

i j k

e f a b c

h l g

d

g,d

(109)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

i j k

e f a b c

g d

h l

g,d

(110)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

i j k

e f a b c

g d

l h

g,d,l

(111)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

i j k

e f a b c

g d

l h

g,d,l,h

(112)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

i j k

e f a

c

g d

l b

h

g,d,l,h,b

(113)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

i j k

e f c

g d

l h b

a

g,d,l,h,b,a

(114)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g d

l h b

e i

f

j k

a c

g,d,l,h,b,a

(115)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g d

l h b

a

f

j k

c e

i

g,d,l,h,b,a

(116)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g d

l h b

a

f

j k

c

i e

g,d,l,h,b,a,i

(117)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g d

l h b

a

f

j k

c

i e

g,d,l,h,b,a,i,e

(118)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g d

l h b

a

f

j k

i e

c

g,d,l,h,b,a,i,e,c

(119)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g d

l h b

a

i e

c f

j k

g,d,l,h,b,a,i,e,c

(120)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g d

l h b

a

i e

c f j k

g,d,l,h,b,a,i,e,c,j

(121)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g d

l h b

a

i e

c

k f j

g,d,l,h,b,a,i,e,c,j,f

(122)

Parcours d’arbres

parcours infixe

d’abord, de mani`ere r´ecursive, le sous-arbre de gauche, puis la racine, et enfin le sous-arbre de droit(Si un sommet n’a qu’un seul fils : sous-arbre de droite vide).

g d

l h b

a

i e

c

j f

k

g,d,l,h,b,a,i,e,c,j,f,k

(123)

Parcours d’arbres

Parcours en largeur

parcours en largeur : parcours des noeuds de l’arbre point´e par niveau croissant.

g h i j k

e f d

b a

c

l

a,b,c, . . . ,k,l.

(124)

Parcours d’arbres

Remarque

Soit G = (V,E) ungraphe(orient´e ou non) simple et connexe.

Un parcours en profondeurdeG est d´efini r´ecursivement.

S´electionner un sommet v0.

A l’´etape k ≥1, choisir un voisin devk−1 qui n’a pas encore ´et´e s´electionn´e.

Si un tel voisin n’existe pas, on cherche dans l’ordre, un voisin non s´electionn´e de vk−2, . . . ,v0.

1

2 3

4 5

6

7 8 9 10

(125)

2 1 3

4 5 6 7

8

1 2

3 5 6

7 8

4

Figure :Un labyrinthe

Références

Documents relatifs

• exploiter la relation entre le nombre de sommets et d’arˆ etes dans un arbre, sous-arbre couvrant (d´ efinition, existence, obtention). • d´ eterminer des parcours d’arbres,

Un multi-graphe non orient´e connexe poss`ede un chemin eul´erien joignant deux sommets a et b SSI a et b sont les deux seuls sommets de degr´e impair... Graphes

Un chemin (resp. circuit) hamiltonien de G : passe une et une seule fois par chaque sommet de G.. Un graphe hamiltonien : graphe poss´edant un

◮ il existe N tel que, quelle que soit la paire de sommets consid´er´ee, il existe un chemin de longueur N les joignant.. Par abus de langage, on parle de

❀ G ij k repr´esente la probabilit´e de transition lorsque le surfeur se trouve sur la page i de passer `a la page j en k clics (chemins de longueur k )... Nous nous sommes

❀ On obtiendra un graphe ayant au plus 5 faces qu’il est toujours possible de colorier.. La propri´et´e R.2 assure alors que le graphe de d´epart peut, lui aussi, ˆetre

(a) Cette relation binaire est caract´ eris´ ee par son graphe, sa relation sagittale, sa repr´ esentation cart´ esienne, sa matrice bool´ eenne, le dictionnaire des suivants ou des

Un chemin orient´ e (dans un graphe orient´e) est une suite d’arˆetes orient´ees telle que l’extr´emit´e finale d’une arˆete est ´egale ` a l’extr´emit´e initiale