Maison > Problème commun > La différence entre une liste chaînée unique et une liste chaînée multiple

La différence entre une liste chaînée unique et une liste chaînée multiple

angryTom
Libérer: 2019-10-24 17:32:27
original
8491 Les gens l'ont consulté

La différence entre une liste chaînée unique et une liste chaînée multiple

Qu'est-ce qu'une liste à chaînage unique ?

Une liste chaînée unique est une structure de données à accès chaîné qui utilise un ensemble d'unités de stockage avec des adresses arbitraires pour stocker des éléments de données dans une table linéaire. Les données de la liste chaînée sont représentées par des nœuds. La composition de chaque nœud est : élément (image de l'élément de données) + pointeur (indiquant l'emplacement de stockage des éléments suivants. L'élément est l'unité de stockage qui stocke les données, et le). Le pointeur est de connecter chaque Les données d'adresse du nœud.

Avantages : Il est simple d'ajouter et de supprimer des nœuds dans une liste chaînée unidirectionnelle. Il n'y aura pas de boucle infinie lors du parcours. (Il n'y aura pas de boucle infinie dans les deux sens. Si la liste chaînée circulaire oublie de la contrôler, elle entrera facilement dans une boucle infinie. Inconvénient : elle ne peut être parcourue que du début à la fin) ; Nous ne pouvons trouver que des successeurs, pas des prédécesseurs, c’est-à-dire que nous ne pouvons qu’avancer.

Qu'est-ce qu'une liste multi-liée ?

Listes chaînées multiples signifie que les nœuds de la liste chaînée peuvent appartenir à plusieurs listes chaînées. La plus courante est la liste chaînée. Chaque nœud a plusieurs champs de pointeur, correspondant à plusieurs listes chaînées, mais. inversement Il est inexact de dire qu'une liste chaînée avec des nœuds avec plusieurs champs de pointeur est une liste multi-liée, car les nœuds d'une liste chaînée circulaire ont deux champs de pointeur, un prédécesseur et un successeur, mais ce n'est pas une liste chaînée multi-liée. liste.

Avantages : Vous pouvez trouver des prédécesseurs et des successeurs, et vous pouvez avancer et reculer. Inconvénients : Cela augmente la complexité de la suppression des nœuds ;

La différence entre les listes à chaînage unique et les listes à chaînage multiple :

1 Une liste à chaînage unique ne peut contenir qu'un seul pointeur de nœud successeur dans la structure de nœud de l'élément, et ne peut pas contenir plusieurs pointeurs. Une liste doublement chaînée contient deux pointeurs : prédécesseur et successeur.

2. La liste à chaînage unique est requise pour renvoyer le pointeur du premier nœud après sa construction (ou s'il y a un nœud principal, utilisez le pointeur du nœud principal), car elle ne peut s'exécuter qu'en arrière. , tandis que la liste à double chaînage peut être construite après sa construction, donnez un pointeur vers n'importe quel nœud, car elle peut aller dans les deux sens. Peu importe de savoir à quel nœud se trouve le pointeur. En principe, le premier nœud prévaut.

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal