Was ist der Unterschied zwischen Array und verknüpfter Liste?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Array und verknüpfter Liste ist das Array weist Speicher zur Kompilierzeit zu, dh zum Zeitpunkt der Deklaration des Arrays, während Linked List Speicher zur Laufzeit zuweist, dh zum Zeitpunkt des Hinzufügens von Elementen zur verknüpften Liste.

Ein Array ist eine Datenstruktur, die eine Gruppe von Elementen desselben Datentyps enthält. Ein Array ist vordefiniert. Mit anderen Worten, es hat eine feste Länge. Andererseits ist eine verknüpfte Liste eine lineare Datenstruktur, die jedes Element als separates Objekt betrachtet. Es hat eine dynamische Länge. Daher ist es möglich, ihn zur Laufzeit zu erhöhen oder zu verringern.

Array, verknüpfte Liste

Was ist ein Array?

Ein Array ist eine Datenstruktur mit einer festen Größe. Es kann Elemente des gleichen Typs speichern. Wenn mehrere Elemente desselben Typs vorhanden sind, ist es nicht möglich, jedes von ihnen als separate Variablen zu speichern. Ein Array bietet eine Alternative zu diesem Problem. Es speichert alle Elemente als ein einzelnes Element. Zum Beispiel doppeltes Gehalt [10]; deklariert ein Array namens Gehalt, das 10 Double-Werte speichern kann. Diese Array-Größe beträgt 10. Daher kann der Programmierer nicht mehr als 10 Elemente in diesem Array speichern.

Der Index der 1NS Element im Array ist 0. Wenn es 10 Elemente im Array gibt, ist der Index des letzten Elements 9. Alle Elemente im Array befinden sich in zusammenhängenden Speicherplätzen. Die niedrigste Adresse entspricht dem ersten Element, während die höchste Adresse dem letzten Element entspricht. Darüber hinaus ist es möglich, Operationen wie Einfügen, Löschen, Modifizieren von Elementen und Durchlaufen des Arrays und Zusammenführen von Arrays durchzuführen.

Was ist eine verlinkte Liste?

Linked List ist eine lineare Datenstruktur, die eine Gruppe von Knoten in einer Sequenz enthält. Jeder Knoten besteht aus seinen eigenen Daten und der Adresse eines anderen Knotens. Es kann die Adresse des nächsten Knotens oder sowohl des nächsten Knotens als auch des vorherigen Knotens speichern. Die Elemente sind miteinander verbunden und bilden eine kettenähnliche Struktur. Der Hauptvorteil einer verknüpften Liste besteht darin, dass sie dynamisch ist. Anders als bei einem Array ist es nicht erforderlich, den gesamten erforderlichen Speicher anfänglich zuzuweisen. Stattdessen ermöglicht eine verknüpfte Liste die Zuweisung von Speicher bei Bedarf.

Andererseits benötigt eine verknüpfte Liste mehr Speicher, da sie die Adressen anderer Knoten speichert. In einer verketteten Liste ist es nicht möglich, auf einmal zufällig auf ein Element zuzugreifen. Der Programmierer sollte jeden Knoten nacheinander durchlaufen, um auf ein bestimmtes Element zuzugreifen. Außerdem ist es schwierig, in der verketteten Liste eine Rückwärtsdurchquerung durchzuführen.

Unterschied zwischen Array und verknüpfter Liste

Definition

Ein Array ist eine Datenstruktur, die aus einer Sammlung von Elementen besteht, die jeweils durch den Array-Index identifiziert werden, während eine Linked List eine lineare Sammlung von Datenelementen ist, deren Reihenfolge nicht durch ihre Position im Speicher gegeben ist. Dies ist also der Hauptunterschied zwischen Array und Linked List.

Zugriff auf die Elemente

Ein Array unterstützt wahlfreien Zugriff. Daher kann der Programmierer über den Index direkt auf ein Element im Array zugreifen. Die verknüpfte Liste unterstützt den sequenziellen Zugriff. Daher muss der Programmierer nacheinander jedes Element oder jeden Knoten durchlaufen, bis das erforderliche Element erreicht ist. Daher ist dies ein wichtiger Unterschied zwischen Array und verknüpfter Liste.

Speicherorte

Speicherorte ist ein weiterer Unterschied zwischen Array und Linked List. Die Elemente in einem Array werden in zusammenhängenden Speicherplätzen gespeichert. Andererseits können die Elemente in der verknüpften Liste überall im Speicher abgelegt werden. Es ist nicht erforderlich, Elemente in zusammenhängenden Speicherplätzen zu speichern.

Größe

Speicherzuweisung

Darüber hinaus erfolgt in einem Array die Speicherzuweisung zur Kompilierzeit. Es handelt sich um eine statische Speicherzuweisung. In einer verknüpften Liste erfolgt die Speicherzuweisung jedoch zur Laufzeit. Es handelt sich um eine dynamische Speicherzuweisung. Daher ist dies ein weiterer Unterschied zwischen Array und Linked List.

Abhängigkeit zwischen Elementen

Außerdem sind die Elemente in einem Array unabhängig voneinander, wohingegen ein Element oder Knoten in einer verknüpften Liste auf den nächsten Knoten oder sowohl den nächsten Knoten als auch den vorherigen Knoten zeigt.

Abschluss

Sowohl Array als auch Linked List helfen dabei, Daten linear zu speichern. Der Hauptunterschied zwischen Array und Linked List besteht darin, dass Array Speicher zur Kompilierzeit zuweist.

Referenz:

1. „Einführung in verknüpfte Listen“. Arten der Netzwerktopologie in Computernetzwerken | Studytonight, hier erhältlich. 2. Arten der Netzwerktopologie in Computernetzwerken | Studytonight, hier erhältlich.

Bild mit freundlicher Genehmigung:

1. „Array2“ Von Kein maschinenlesbarer Autor angegeben. Jarkko Piiroinen angenommen (basierend auf Urheberrechtsansprüchen). – Keine maschinenlesbare Quelle angegeben. Eigenes Werk angenommen (basierend auf Urheberrechtsansprüchen) (Public Domain) über Commons Wikimedia 2. „CPT-LinkedLists-addingnode“ Von Singly_linked_list_insert_after.png: Derrick Coetzeederivative work: Pluke (talk) – Singly_linked_list_insert_after.png (Public Domain) über Commons Wikimedia

Was ist der Unterschied zwischen Array und verknüpfter Liste?