2016-05-26 7 views
0

Ich wurde gebeten, ein Problem zu lösen, indem ich eine doppelt verkettete Liste und eine zirkuläre verkettete Liste verwende.Was ist der Unterschied zwischen einer doppelt verknüpften Liste und einer kreisförmigen verknüpften Liste?

Ich weiß, dass die doppelendige verkettete Liste zwei Zeiger am Kopfknoten hat, wobei einer auf seinen nächsten Knoten zeigt und der andere auf den letzten Knoten zeigt. Diese Idee scheint der zirkular verknüpften Liste sehr ähnlich zu sein. Sind die beiden voneinander verschieden?

Antwort

1

In einer kreisförmigen verketteten Liste, wobei der erste Knoten (Kopf) zeigt auf den letzten Knoten und der letzte Knoten Punkte auf den ersten Knoten.

enter image description here

Während in einer doppelendiges verketteten Liste, wobei jeder Knoten nur einen Zeiger aufweist, der mit seinem nächsten Knoten verweist. Es enthält zwei Zeiger dieser Art ("first" und "last"), so dass Sie Elemente von beiden Seiten in die Liste einfügen können. Außerdem sind Sie in der Lage den letzten Knoten schneller durch seinen Zeiger

enter image description here

Highlight zu verfolgen: Double-Ended - sich

+0

Können Sie bitte klarstellen, wie in der verketteten Liste der erste Knoten und der letzte Knoten auf sich selbst zeigen. Ich denke, es ist nur wahr, wenn es nur einen Knoten gibt, ansonsten sollte es wie "der letzte Knoten zeigt auf den ersten Knoten" sein. –

+0

Zweites Bild wird nicht mehr angezeigt. – pzp

1

In der kreisförmigen verknüpften Liste zeigt der letzte Knoten der verknüpften Liste zurück zum ersten Knoten der verknüpften Liste. Aber im Falle einer doppelseitigen verketteten Liste haben wir zwei Zeiger, die auf den Anfangsknoten und den Endknoten zeigen, was beim Einfügen sowohl am Anfang als auch am Ende hilft. Sie können diese für Referenzen überprüfen.
Referenzen
circular linked list
difference between double-ended linked lists and doubly-linked list

+0

diese ersten und letzten Knotenpunkt - die ersten Punkte zum letzten Knoten Circular ist keine doppelt verknüpfte Liste, sondern eine doppelt verknüpfte Liste. Sie sind nicht das gleiche – ekeith

+0

es war ein Tippfehler, ich meinte doppelseitige verknüpfte Liste, aber geschrieben doppelt verknüpfte Liste. –