NSI (terminale) · Chapitre 4 · Application directe du cours
De la matrice aux listes d'adjacence
Les graphes · niveau 1 (application)
Énoncé
De la matrice aux listes d'adjacence.
On dispose d'un graphe non orienté donné par sa matrice d'adjacence (liste de listes). Écrire une fonction matrice_vers_listes(M) qui renvoie le dictionnaire des listes d'adjacence correspondant. Les sommets sont numérotés de à .
Corrigé
On parcourt chaque case ; si elle vaut , on ajoute aux voisins de .
def matrice_vers_listes(M):
n = len(M)
G = {i: [] for i in range(n)}
for i in range(n):
for j in range(n):
if M[i][j] == 1:
G[i].append(j)
return G
M = [
[0, 1, 1, 0],
[1, 0, 1, 0],
[1, 1, 0, 1],
[0, 0, 1, 0],
]
print(matrice_vers_listes(M))
# {0: [1, 2], 1: [0, 2], 2: [0, 1, 3], 3: [2]}
La complexité est car on examine toutes les cases de la matrice.
100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 8 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.