Unterschied zwischen einfach verknüpfter Liste und doppelter verknüpfter Liste

Anonim

Einfach verknüpfte Liste vs. doppelt verknüpfte Liste auf

Die verknüpfte Liste ist eine lineare Datenstruktur, die zum Speichern einer Datensammlung verwendet wird. Eine verknüpfte Liste ordnet Speicherelemente für ihre Elemente separat in ihrem eigenen Speicherblock zu, und die Gesamtstruktur wird durch Verknüpfen dieser Elemente als Verbindungen in einer Kette erhalten. Eine einfach verknüpfte Liste besteht aus einer Folge von Knoten und jeder Knoten hat einen Verweis auf den nächsten Knoten in der Folge. Eine doppelt verknüpfte Liste enthält eine Folge von Knoten, in denen jeder Knoten eine Referenz auf den nächsten Knoten sowie auf den vorherigen Knoten enthält.

Einfach verknüpfte Liste

Jedes Element in einer einfach verknüpften Liste hat zwei Felder, wie in Fig. 1 gezeigt. Das Datenfeld enthält die tatsächlich gespeicherten Daten und das nächste Feld enthält den Verweis auf das nächste Element in der Kette. Das erste Element der verknüpften Liste wird als Kopf der verknüpften Liste gespeichert.

Abbildung 2 zeigt eine einfach verknüpfte Liste mit drei Elementen. Jedes Element speichert seine Daten und alle Elemente außer dem letzten speichern eine Referenz auf das nächste Element. Letztes Element enthält einen Nullwert in seinem nächsten Feld. Auf jedes Element in der Liste kann zugegriffen werden, indem Sie am Kopf beginnen und dem nächsten Zeiger folgen, bis Sie das erforderliche Element erreichen.

Doppelt verknüpfte Liste

Jedes Element in einer doppelt verknüpften Liste hat drei Felder, wie in Fig. 3 gezeigt. Ähnlich der einfach verknüpften Liste enthält das Datenfeld die tatsächlich gespeicherten Daten und das nächste Feld enthält die Referenz auf das nächste Element in der Kette. Darüber hinaus enthält das vorherige Feld den Verweis auf das vorherige Element in der Kette. Das erste Element der verknüpften Liste wird als Kopf der verknüpften Liste gespeichert.

Abbildung 4 zeigt eine doppelt verknüpfte Liste mit drei Elementen. Alle Zwischenelemente speichern Verweise auf das erste und vorherige Element. Das letzte Element in der Liste enthält einen Nullwert in seinem nächsten Feld und das erste Element in der Liste enthält einen Nullwert in seinem vorherigen Feld. Die doppelt verknüpfte Liste kann durch Weiterlaufen der nächsten Referenzen in jedem Element vorwärts durchlaufen werden und kann in ähnlicher Weise unter Verwendung der vorherigen Referenzen in jedem Element rückwärts durchlaufen werden.

Was ist der Unterschied zwischen Singly Linked List und Doubly Linked List?

Jedes Element in der einfach verknüpften Liste enthält eine Referenz auf das nächste Element in der Liste, während jedes Element in der doppelt verknüpften Liste Verweise auf das nächste Element sowie das vorherige Element in der Liste enthält. Doppelt verknüpfte Listen erfordern mehr Platz für jedes Element in der Liste, und elementare Operationen wie Einfügen und Löschen sind komplexer, da sie sich mit zwei Referenzen befassen müssen. Doppelte Linklisten ermöglichen jedoch eine einfachere Handhabung, da die Liste in Vorwärts- und Rückwärtsrichtung durchlaufen werden kann.