Académique Documents
Professionnel Documents
Culture Documents
Renaud Chicoisne
September 2021
1 Exercice 1
Pour
Pun graphe G fini, non oriente et simple, exprimez en
Pfonction de m la valeur
de v∈V(G) d(v). Prouvons par recurrence sur m que v∈V(G) d(v) = 2m.
m = 0: si m = 0 il n’y a pas d’arete, tous les sommets sont isoles, et ont
donc un degre nul, i.e. d(v) = 0, pour tout v ∈ V(G):
X
d(v) = 0 = 2 × 0 = 2m
v∈V(G)
Puisque G0 n’est autre que G auquel on a enleve une arete - disons l’arete (i, j) -
le degre des sommets de G est identique a celui des sommets de G0 , a l’exception
de i et j dont le degre a augmente de 1:
(
dG0 (v) if v ∈
/ {i, j}
dG (v) = (2)
dG0 (v) + 1 if v ∈ {i, j}
1
2 Exercice 2
Montrez que dans un graphe non oriente simple, il y a un nombre pair de
sommets avec un degre impair.
Dans les quatre cas de figure, le nombre de sommets de degre impair change de
+2,-2,0 et 0 respectivement, conservant donc la parite venant de l’hypothese a
m.
2
De plus, pour tout v ∈ V(G) definissons k(v) tel que
(
2k(v) Si d(v) est pair
d(v) =
2k(v) + 1 Si d(v) est impair
3 Exercice 3
Quel est le nombre maximum d’aretes en fonction de n qu’un graphe simple non
oriente peut avoir? Donnez un exemple de famille de graphe qui realise cette
borne.
Chaque sommet d’un graphe simple ne peut etre connecte qu’aux n − 1
autres, i.e. d(v) 6 n − 1 pour tout v ∈ V(G). D’apres la question 1 nous avons
X X
2m = d(v) 6 (n − 1) = n2 − n
v∈V(G) v∈V(G)
4 Exercice 4
Soit T = (V, E) un arbre a n sommets. Exprimez m = |E| en fonction de n.
Par recurrence sur n, prouvons que m = n − 1:
n = 1: Un graphe simple ayant un unique sommet n’a pas d’arete donc
m = 0 = n − 1.
n+1: Considerons un arbre T ayant n+1 sommets et le graphe T 0 obtenu en
enlevant une feuille de T (i.e. un noeud de T de degre 1) et l’arete le reliant au
reste de T . T 0 est un arbre car il reste connexe. Il a n sommets et satisfait donc
l’hypothese de recurrence a n: |E(T 0 )| = n − 1. Puisque |E(T )| = |E(T 0 )| + 1,
on obtient le resultat.
3
5 Exercice 5
Soit G = (V, E) un graphe simple non oriente, ecrivez un algorithme qui deter-
mine si G est connexe. L’algorithme devra:
• Repondre oui si G est connexe
4
6 Exercice 6
Soit G = (V, E) un graphe non oriente, ecrivez un algorithme qui renvoie les
differentes composantes connexes du graphe.
7 Exercice 7
Montrez que les enonces suivants sont equivalents:
1. T est un arbre
2. Entre toute paire de sommets (x, y) de V(T ), il existe un unique chemin
Pxy dans T entre x et y
3. T est minimalement connexe (i.e. T est connexe mais T − e ne l’est plus
pour tout e ∈ E(T )).
5
2 ⇒ 3: Pour toute paire de sommets (x, y) de T , il n’existe qu’un seul chemin
les reliant dans T . En particulier, considerons e = (x, y) ∈ E(T ). P = (x, y) est
l’unique chemin dans T reliant x et y. Sa supression de T coupe donc l’unique
chemin et deconnecte x de y.
3 ⇒ 4: Par contraposition, supposons que T contient un cycle ou qu’il existe
une arete (x, y) ∈
/ E(T ) tel que T + (x, y) ne contient pas de cycle. Si T contient
un cycle, le retrait de n’importe quelle arete de ce cycle maintient la connexite
de T , ce qui contradit la connexite minimale de T . Finalement, s’il existe une
arete (x, y) ∈
/ E(T ) tel que T + (x, y) ne contient pas de cycle, P = (x, y) est le
seul chemin reliant x et y dans T + (x, y) et que donc T n’etait pas connexe.
4 ⇒ 1: si T es maximalement acyclique, il est acyclique et pour tout (x, y),
l’ajout d’une arete (x, y) a l’arbre cree un cycle, ce qui implique qu’il y avait
deja un chemin entre x et y dans T , prouvant sa connexite.
8 Exercice 8
Soit G = (V, E) un graphe simple non oriente. Ecrivez un algorithme qui
determine si G est un arbre.
En utilisant l’algorithme de la question 5, il est facile de verifier la con-
nexite de T . En utilisant la caracterisation # 3 de la question precedente et
l’algorithme de la question 5, il suffit d’enlever chacune des aretes du graphe T
et verifier la connexite de T − e.
T est connexe et chaque T − e n’est pas connexe pour tout e ∈ E(T ) si et
seulement si T est un arbre.
9 Exercice 9
Pour chacune des representations vues en cours:
1. Matrice d’adjacence
2. Matrice d’incidence
3. Liste d’adjacence
Indiquez
1. La taille de la representation en memoire
2. Le temps necessaire pour determiner si deux sommets sont adjacents
6
l’adjacence se determine en inspectant les m coefficients de la ligne i et les m
coefficients de la ligne j en O(m).
La liste d’adjacence est de taille m et garde une liste des voisins de chaque
sommet. Elle prend m elements en memoire, et l’adjacence se determine en
inspectant les d(i) voisins de i. Dans le pire des cas O(m).
10 Exercice 10
Soit G = (X, Y, E) un graphe biparti:
11 Exercice 11
Caracterisez les graphes k-reguliers pour k ∈ {0, 1, 2}.
Un graphe est k-regulier si tous ses sommets on le meme degre k.
1. k = 0: un graphe 0-regulier n’a pas d’arete, il est donc completement
compose de sommets isoles.
2. k = 1: un graphe 1-regulier est un graphe entierement compose d’aretes
isolees entre elles (i.e. c’est un matching), et ayant un nombre pair de
sommets.
7
12 Exercice 12
1. Si G est un graphe non oriente simple tel que δ(G) > n/2 − 1 alors G est
connexe.
δ(G) est le degre minimal de G defini par δ(G) = minv∈V(G) d(G). Par
l’absurde, supposons que G est separe en deux composantes non con-
nectees entre elles (V1 , E1 ) et (V2 , E2 ) ayant respectivement p sommets, q
aretes et n − p sommets, m − q aretes. D’apres la question 1, nous savons
que
X n−2
2q = d(v) > pδ(G) > p
2
v∈V1
X n−2
2(m − q) = d(v) > (n − p)δ(G) > (n − p)
2
v∈V2
13 Exercice 13
Soit G = (V, E) un graphe simple non-oriente et deconnecte.
1. Montrez que le complementaire de G, Ḡ = (V, Ē) est connexe. Con-
siderons deux sommets (i, j) ∈ V × V
(a) Si (i, j) ∈
/ E, alors (i, j) ∈ Ē et donc i et j sont connectes dans Ḡ.
(b) Si (i, j) ∈ E, alors ils appartiennent a une meme composante connexe
dans Ḡ. Puisque G n’est pas connexe, il existe un sommet k ∈ V
n’appartenant pas a la meme composante connexe que i et j dans
G. Cela implique que (i, k) ∈ / E et (j, k) ∈
/ E, impliquant a son tour
que (i, k) ∈ Ē et (j, k) ∈ Ē, et que donc le chemin (i, k, j) relie i et j
dans Ḡ.
8
Dans les deux cas, i et j sont connectes dans Ḡ.
2. Qu’en est-il de la reciproque ? La reciproque est fausse: un chemin sur
quatre sommets et connexe, son complementaire est aussi un chemin sur
4 sommets, et est aussi connexe.
14 Exercice 14
Ecrivez un algorithme qui prend pour entree un graphe non oriente G = (V, E)
et qui renvoie comme resultat un arbre couvrant T de G.
Cf. notes de cours.
15 Exercice 15
Concevez un algorithme qui, etant donne un graphe G non oriente, sera capable
de determiner si G est biparti.
Cf. notes de cours.