Comment représenter et parcourir un graphe en Python ?
numpy 2D) pour un accès au poids d'une arêteStocker un graphe dans un tableau afin d'accéder instantanément à l'existence ou au poids d'une arête entre deux sommets.
Coder en Python le graphe non orienté à sommets dont les arêtes sont , , , , puis compter le nombre total d'arêtes.
Stocker un graphe dans un tableau afin d'accéder instantanément à l'existence ou au poids d'une arête entre deux sommets.
Pour un graphe à sommets numérotés de à , la matrice d'adjacence vérifie ssi est une arête (et si le graphe est non orienté) ; pour un graphe pondéré, on remplace par le poids de l'arête.
np.zeros((n,n)).M[i][j] = 1 (et M[j][i] = 1 si le graphe est non orienté), ou le poids si le graphe est pondéré.M[i][j] pour savoir si et sont voisins, et je compte le nombre d'arêtes par en cas non orienté.Coder en Python le graphe non orienté à sommets dont les arêtes sont , , , , puis compter le nombre total d'arêtes.
np.zeros((n,n)).Je numérote les sommets et j'initialise la matrice de zéros.
import numpy as np
n = 4
M = np.zeros((n, n))
M[i][j] = 1 (et M[j][i] = 1 si le graphe est non orienté), ou le poids si le graphe est pondéré.J'ajoute chaque arête symétriquement.
aretes = [(0,1), (0,2), (1,2), (2,3)]
for i, j in aretes:
M[i][j] = 1
M[j][i] = 1
M[i][j] pour savoir si et sont voisins, et je compte le nombre d'arêtes par en cas non orienté.Je compte les arêtes en sommant puis en divisant par .
nb_aretes = int(M.sum() / 2)
print(nb_aretes) # 4
Le graphe comporte arêtes.
Écrire une fonction degre(M, s) qui renvoie le degré du sommet dans un graphe non orienté codé par sa matrice d'adjacence .
Coder un graphe pondéré à sommets avec les arêtes de poids , de poids , de poids , puis afficher le poids entre et .
Écrire une fonction voisins(M, s) qui renvoie la liste des voisins du sommet dans un graphe non orienté codé par sa matrice d'adjacence M (tableau numpy 2D).
Tester si un graphe non orienté codé par sa matrice d'adjacence M est un graphe complet (tous les sommets distincts sont reliés).
Crée ton compte pour accéder à la fiche et aux exercices