Maison  >  Article  >  développement back-end  >  Comment puis-je implémenter efficacement la fonctionnalité de liste chaînée en Python ?

Comment puis-je implémenter efficacement la fonctionnalité de liste chaînée en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-31 12:26:01489parcourir

How can I effectively implement linked list functionality in Python?

Utilisation de listes liées en Python

En Python, les structures de données de liste standard et de tuple ne sont pas de véritables listes liées. Les listes chaînées présentent des avantages uniques, notamment la concaténation en temps constant et le référencement facile de sections distinctes.

Pour définir une liste chaînée en Python, vous pouvez utiliser le code suivant :

>>> class Node:
...     def __init__(self, data):
...         self.data = data
...         self.next = None

Ceci définit une classe "Node" qui peut stocker une donnée et référencer le nœud suivant dans la liste.

Pour créer une liste chaînée, créez des nœuds et reliez-les entre eux :

>>> head = Node(1)
>>> second = Node(2)
>>> third = Node(3)
>>> head.next = second
>>> second.next = third

Ceci le code crée une liste chaînée avec la tête, le deuxième et le troisième comme nœuds. Le nœud principal est le point de départ de la liste.

Pour accéder aux éléments de la liste, parcourez les nœuds :

>>> current_node = head
>>> while current_node is not None:
...     print(current_node.data)
...     current_node = current_node.next

Ce code imprime les données dans chaque nœud de la liste.

Pour certaines applications, un deque (file d'attente double) peut également être approprié. Les deques permettent d'ajouter et de supprimer des éléments des deux extrémités avec une complexité temporelle O(1).

<code class="python">>>> from collections import deque
>>> d = deque([1,2,3,4])
>>> d.pop()
4
>>> d
deque([1, 2, 3])</code>

En utilisant des listes liées ou des deques, vous pouvez implémenter efficacement des structures de données en Python qui ont les propriétés avantageuses des listes liées. listes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn