TP 18 : Révisions graphes#

Graphes#

Un graphe est un ensemble de sommets (ronds) reliés par des arêtes (traits).
Deux sommets sont voisins s’ils sont reliés par une arête.

Un graphe peut être représenté par une matrice d’adjacence \(A = (a_{i, j})\) de taille \(n \times n\)\(n\) est le nombre de sommets, où \(a_{i, j} = 1\) si les sommets \(i\) et \(j\) sont voisins et \(a_{i, j} = 0\) sinon.

Question

Définir le graphe ci-dessus dans une matrice \(A\).

Question

Écrire une fonction voisins(A, v) renvoyant la liste des voisins du sommet \(v\) dans le graphe \(A\).

voisins(A, 1)
[0, 2, 4, 5]

Question

Le degré d’un sommet est son nombre de voisins. Écrire une fonction degre(A, v) renvoyant le degré de v.

degre(A, 1)
4

Question

Écrire une fonction nombre_arete(A) renvoyant le nombre d’arêtes du graphe \(A\).

nombre_arete(A)
8

Un graphe est complet s’il contient toutes les arêtes possibles.


Exemple de graphe complet

Question

Écrire une fonction complet(n) renvoyant la matrice d’adjacence du graphe complet à \(n\) sommets.

complet(5)
[[0, 1, 1, 1, 1],
 [1, 0, 1, 1, 1],
 [1, 1, 0, 1, 1],
 [1, 1, 1, 0, 1],
 [1, 1, 1, 1, 0]]

Question

Écrire une fonction est_complet(A) renvoyant True si le graphe \(A\) est complet et False sinon.

print(est_complet(A))
print(est_complet(complet(5)))
False
True