web-dev-qa-db-fra.com

différence entre les listes chaînées à double extrémité et les listes à double liaison

Je ne comprends pas la différence entre une liste à double extrémité et à double lien.

Quelle est la différence majeure entre les deux?

8
pycod333

Dans une liste doublement liée, chaque nœud a deux pointeurs. Un vers son prochain noeud et un autre vers son précédent noeud.

enter image description here

Dans une liste chaînée à double extrémité, chaque nœud a un seul pointeur qui pointe vers son nœud suivant. Sa différence par rapport à la liste chaînée à une extrémité est qu’au lieu d’un seul nœud "tête", il contient deux pointeurs de ce type ("premier" et "dernier"), de sorte que quelqu'un peut insérer des éléments il.

enter image description here

(La dernière image n'est pas très nette, mais elle attrape le point des deux bouts.)

10
Kapoios

Une liste doublement chaînée est une liste où les éléments ont des pointeurs vers l'élément avant et après dans la liste. 

De mon point de vue, une liste à double extrémité est identique à une deque. C'est une file d'attente à partir de laquelle vous pouvez ajouter et supprimer des éléments du haut et du bas.

2
Einar Sundgren

Simple lié est un sens et utilise moins de mémoire et la complexité de l'insertion est O (n). Bien que la double liaison soit dans les deux sens (suivant et précédent), elle utilise plus de mémoire que la liste unique et la complexité d'insertion et de suppression est O (n).

1
PAULINAK

Une liste à double extrémité est semblable à une liste chaînée ordinaire, mais elle possède une caractéristique supplémentaire: une référence au dernier lien ainsi qu'au premier. au lieu d'un. Le premier est le lien suivant, comme dans les listes ordinaires. La seconde est au lien précédent.

0
Sanduni Mabarana