Contenu du cours
Aperçu des Algorithmes et des Structures de Données
Aperçu des Algorithmes et des Structures de Données
Structure de Données de Liste Chaînée
Une liste chaînée est une structure de données composée d'une séquence d'éléments appelés nœuds, où chaque nœud contient des données et une référence au nœud suivant dans la séquence.
Contrairement aux tableaux, les listes chaînées n'ont pas de taille fixe en mémoire et ne stockent pas les éléments dans des emplacements mémoire contigus. Au lieu de cela, elles utilisent des pointeurs pour connecter les nœuds, permettant une allocation dynamique de mémoire et une insertion et suppression efficaces des éléments.
La section suivante du code illustre ce concept.
Liste chaînée vs Tableau
Implémentation de la liste chaînée
from lolviz import * from IPython.display import display_png class Node: def __init__(self, data): self.value = data self.next = None # Let's create some nodes node1 = Node(1) node2 = Node(2) node3 = Node(3) # Then let's couple them into a linked list node1.next = node2 node2.next = node3 display_png(objviz(node1))
Remarque
Faites attention au fait que la structure
list
intégrée de Python n'est pas conceptuellement une liste - la structurelist
est implémentée comme un tableau dynamique qui peut contenir des éléments de différents types de données. Elle est similaire à un tableau mais avec des fonctionnalités et optimisations supplémentaires.
Contrairement à un tableau où nous avons un accès direct à n'importe quel élément, dans la liste chaînée, nous avons un accès direct uniquement au premier élément, et nous pouvons accéder à tout autre élément uniquement par la chaîne de références.
Merci pour vos commentaires !