10 exercices corrigés en NetworkX pour débutants – pratique, solutions et explications détaillées
|

10 exercices corrigés en NetworkX pour débutants – pratique, solutions et explications détaillées

Spread the love

Bienvenue sur CoinDuDev, l’endroit où coder devient un jeu d’enfant ! Aujourd’hui, on s’attaque à une bibliothèque Python qui déchire tout quand il s’agit de manipuler des graphes : NetworkX. Que tu sois intéressé par les réseaux sociaux, les graphes de transport, ou la théorie des graphes en général, NetworkX est ton allié.

Pour t’aider à bien débuter, voici 10 exercices corrigés en NetworkX, avec des solutions expliquées pas à pas pour que tu gagnes en confiance et maîtrise cette bibliothèque comme un pro.

Pourquoi faire des exercices corrigés en NetworkX ?

NetworkX permet de créer, manipuler et analyser des graphes, c’est-à-dire des structures composées de nœuds (ou sommets) et d’arêtes (ou liens). C’est super utile en data science, informatique théorique, optimisation, et plus encore.

Ces exercices corrigés en NetworkX t’aideront à :

  • Comprendre les bases de la création et manipulation de graphes.
  • Apprendre à parcourir, analyser et visualiser les graphes.
  • Mettre en pratique les concepts théoriques de manière concrète.

Comment utiliser ces exercices corrigés en NetworkX ?

Lis bien chaque énoncé, essaie de coder la solution toi-même, puis vérifie avec la correction. Modifie le code, teste d’autres exemples, c’est le meilleur moyen d’apprendre !

Exercice 1 : Créer un graphe simple

Énoncé : Crée un graphe vide avec NetworkX.

Solution :

import networkx as nx

G = nx.Graph()
print(G)

Explication :
On importe la bibliothèque NetworkX avec l’alias nx (classique), puis on crée un objet Graph vide. Tu peux maintenant y ajouter des nœuds et des arêtes.

Exercice 2 : Ajouter des nœuds à un graphe

Énoncé : Ajoute trois nœuds nommés ‘A’, ‘B’, et ‘C’ au graphe.

Solution :

G.add_nodes_from(['A', 'B', 'C'])
print(G.nodes())

Explication :
La méthode add_nodes_from() permet d’ajouter plusieurs nœuds en une seule fois. Ici, on crée un petit graphe avec 3 sommets.

Exercice 3 : Ajouter des arêtes entre les nœuds

Énoncé : Relie les nœuds ‘A’ à ‘B’ et ‘B’ à ‘C’.

Solution :

G.add_edge('A', 'B')
G.add_edge('B', 'C')
print(G.edges())

Explication :
On utilise la méthode add_edge() pour créer des liens entre les nœuds. Ces liens sont bidirectionnels dans un graphe non orienté.

Exercice 4 : Afficher les nœuds et les arêtes

Énoncé : Affiche tous les nœuds et arêtes du graphe.

Solution :

print("Nœuds :", G.nodes())
print("Arêtes :", G.edges())

Explication :
Simple et efficace : on liste les sommets et les connexions du graphe.

Exercice 5 : Créer un graphe orienté (Digraph)

Énoncé : Crée un graphe orienté et ajoute une arête de ‘X’ vers ‘Y’.

Solution :

DG = nx.DiGraph()
DG.add_edge('X', 'Y')
print(DG.edges())

Explication :
DiGraph signifie graphe orienté, où les arêtes ont une direction (ici de ‘X’ vers ‘Y’).

Exercice 6 : Calculer le degré d’un nœud

Énoncé : Trouve le degré (nombre de connexions) du nœud ‘B’ dans le graphe non orienté.

Solution :

degre_B = G.degree('B')
print(f"Le degré du nœud B est : {degre_B}")

Explication :
Le degré d’un nœud, c’est le nombre d’arêtes qui le connectent à d’autres nœuds.

Exercice 7 : Trouver les voisins d’un nœud

Énoncé : Liste les nœuds voisins du nœud ‘B’.

Solution :

voisins_B = list(G.neighbors('B'))
print(f"Les voisins de B sont : {voisins_B}")

Explication :
La méthode neighbors() renvoie un itérateur des nœuds connectés à un nœud donné.

Exercice 8 : Trouver le plus court chemin entre deux nœuds

Énoncé : Trouve le plus court chemin entre ‘A’ et ‘C’.

Solution :

chemin = nx.shortest_path(G, source='A', target='C')
print(f"Plus court chemin entre A et C : {chemin}")

Explication :
nx.shortest_path() calcule le chemin minimal entre deux sommets dans un graphe non orienté.

Exercice 9 : Afficher un graphe avec Matplotlib

Énoncé : Visualise le graphe non orienté.

Solution :

import matplotlib.pyplot as plt

nx.draw(G, with_labels=True)
plt.show()

Explication :
On utilise Matplotlib pour afficher graphiquement le graphe. La fonction nx.draw() dessine le graphe et plt.show() affiche la fenêtre.

Exercice 10 : Ajouter des poids aux arêtes

Énoncé : Ajoute un poids de 5 à l’arête entre ‘A’ et ‘B’.

Solution :

G['A']['B']['weight'] = 5
print(G.edges(data=True))

Explication :
Les graphes NetworkX peuvent contenir des attributs. Ici, on ajoute un poids qui peut représenter une distance, un coût, etc.

FAQ

NetworkX est-il utile pour la data science ?

Oui, absolument ! NetworkX est très utile pour analyser les relations entre données, comme les réseaux sociaux, les graphes de transport ou les interactions entre entités dans un dataset.

Faut-il maîtriser Python avant d’apprendre NetworkX ?

Il est recommandé d’avoir des bases en Python (boucles, listes, dictionnaires) avant de te lancer dans NetworkX. Cela facilitera la compréhension des exercices et des structures de graphe.

Puis-je gagner de l’argent en apprenant NetworkX ?

Bien sûr ! La maîtrise de NetworkX peut t’ouvrir les portes de métiers liés à la data science, à l’analyse de réseaux ou à la cybersécurité.
👉 Découvre comment transformer tes compétences Python en revenus ici : Comment gagner de l’argent avec Python

Quelles autres bibliothèques Python devrais-je apprendre avec NetworkX ?

Pour progresser efficacement, il est essentiel de combiner NetworkX avec d’autres bibliothèques puissantes de l’écosystème Python :

Ces outils se complètent parfaitement et t’aideront à devenir un vrai data scientist Python complet

Conclusion

Tu viens de découvrir 10 exercices corrigés en NetworkX qui vont te donner une bonne base pour manipuler des graphes en Python. Continue à expérimenter, ajoute des nœuds, crée des graphes complexes, et surtout, amuse-toi avec tes données !

Si cet article t’a plu, n’hésite pas à le partager, commenter, ou poser tes questions ici sur CoinDuDev. Ensemble, on devient meilleurs !

Similar Posts