5.8. Structures de données en Python : graphiques

Página 22

En programmation, les structures de données sont un moyen de stocker et d'organiser efficacement les informations. En Python, l’une des structures de données les plus avancées et les plus puissantes est le graphique. Les graphiques sont utilisés dans diverses applications, depuis les réseaux sociaux et les moteurs de recherche jusqu'aux systèmes de recommandation et à la cartographie d'itinéraire. Dans cette section, nous explorerons comment les graphiques sont implémentés en Python et comment ils peuvent être utilisés dans des applications du monde réel.

Un graphe est une structure de données composée de nœuds (ou sommets) et d'arêtes qui relient ces nœuds. Chaque nœud représente une entité (comme une personne sur un réseau social ou une page web sur un moteur de recherche) et chaque bord représente une relation entre deux entités (comme une amitié sur un réseau social ou un lien entre deux pages web). .

En Python, un graphique peut être implémenté de plusieurs manières. Le choix de la mise en œuvre dépend des besoins spécifiques de votre programme. Voici quelques-unes des implémentations les plus courantes :

Matrice de contiguïté : dans cette implémentation, le graphique est représenté comme une matrice bidimensionnelle. Chaque ligne et chaque colonne représente un nœud et la valeur à l'intersection d'une ligne et d'une colonne représente la présence (ou l'absence) d'une arête entre les nœuds correspondants. Cette implémentation est efficace pour les graphes denses (c'est-à-dire les graphes où la plupart des nœuds sont connectés à de nombreux autres nœuds) mais est inefficace pour les graphes clairsemés (c'est-à-dire les graphes où la plupart des nœuds sont connectés à quelques autres nœuds).< /p>

Liste de contiguïté : Dans cette implémentation, le graphique est représenté comme une liste de listes. Chaque liste représente un nœud et contient les nœuds auxquels il est connecté. Cette implémentation est efficace pour les graphiques clairsemés, mais inefficace pour les graphiques denses.

Objets et pointeurs : dans cette implémentation, chaque nœud est un objet et chaque arête est un pointeur d'un objet à un autre. Cette implémentation est la plus intuitive et la plus flexible, mais c'est aussi la plus complexe et la plus sujette aux erreurs.

Une fois que vous avez implémenté un graphique, vous pouvez y effectuer diverses opérations. Voici quelques-unes des opérations les plus courantes :

Ajouter un nœud : L'ajout d'un nœud à un graphique consiste simplement à ajouter une nouvelle entrée à la matrice de contiguïté, à la liste de contiguïté ou à la liste d'objets, selon l'implémentation. p>

Ajouter un bord : L'ajout d'un bord à un graphique consiste simplement à mettre à jour la matrice de contiguïté, la liste de contiguïté ou les pointeurs d'objet, en fonction de l'implémentation.

Suppression d'un nœud : La suppression d'un nœud d'un graphique est une opération plus complexe qui implique de supprimer l'entrée correspondant à la matrice de contiguïté, à la liste de contiguïté ou à la liste d'objets et de mettre à jour toutes les arêtes reliant le nœud supprimé.

Suppression d'un bord : La suppression d'un bord d'un graphique consiste simplement à mettre à jour la matrice de contiguïté, la liste de contiguïté ou les pointeurs d'objet, en fonction de l'implémentation.

Trouver un nœud : Rechercher un nœud dans un graphique est une opération dont la complexité varie en fonction de l'implémentation. Sur une matrice d'adjacence, il s'agit d'une opération à temps constant (c'est-à-dire que le temps pris ne dépend pas de la taille du graphique). Sur une liste de contiguïté ou une liste d'objets, il s'agit d'une opération temporelle linéaire (c'est-à-dire que le temps pris augmente linéairement avec la taille du graphique).

En bref, les graphiques constituent une structure de données puissante qui vous permet de représenter et de manipuler des relations complexes entre des entités. En Python, les graphiques peuvent être implémentés de nombreuses manières, chacune ayant ses propres avantages et inconvénients. Le choix de la mise en œuvre dépend des besoins spécifiques de votre programme.

Répondez maintenant à l’exercice sur le contenu :

Laquelle des affirmations suivantes est vraie concernant les structures de données graphiques en Python ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

235.9. Structures de données en Python : hachage

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte