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

Barbara Streisand
Libérer: 2024-10-31 12:26:01
original
503 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!