Wat is het verschil tussen array en gekoppelde lijst?

Inhoudsopgave:

Anonim

De grootste verschil tussen Array en Linked List is dat: Array wijst geheugen toe tijdens het compileren, wat het moment is waarop de array wordt gedeclareerd, terwijl Linked List geheugen toewijst tijdens runtime, wat het moment is om elementen aan de gekoppelde lijst toe te voegen.

Een array is een gegevensstructuur die een groep elementen van hetzelfde gegevenstype bevat. Een array is vooraf gedefinieerd. Met andere woorden, het heeft een vaste lengte. Aan de andere kant is een gekoppelde lijst een lineaire gegevensstructuur die elk element als een afzonderlijk object beschouwt. Het heeft een dynamische lengte. Daarom is het mogelijk om deze tijdens runtime te verhogen of te verlagen.

Array, gelinkte lijst

Wat is een array

Een array is een datastructuur met een vaste grootte. Het kan elementen van hetzelfde type opslaan. Als er meerdere elementen van hetzelfde type zijn, is het niet mogelijk om ze allemaal als aparte variabelen op te slaan. Een array biedt een alternatief voor dit probleem. Het slaat alle elementen op als een enkel element. Bijvoorbeeld dubbel salaris [10]; declareert een array met de naam salaris die 10 dubbele waarden kan opslaan. Deze arraygrootte is 10. Daarom kan de programmeur niet meer dan 10 elementen in deze array opslaan.

De index van de 1NS element in de array is 0. Als er 10 elementen in de array zijn, is de index van het laatste element 9. Alle elementen in de array bevinden zich op aangrenzende geheugenlocaties. Het laagste adres komt overeen met het eerste element, terwijl het hoogste adres overeenkomt met het laatste element. Bovendien is het mogelijk om bewerkingen uit te voeren zoals het invoegen, verwijderen, wijzigen van elementen en het doorlopen van de array en het samenvoegen van arrays.

Wat is een gekoppelde lijst

Linked List is een lineaire gegevensstructuur die een groep knooppunten in een reeks bevat. Elk knooppunt bestaat uit zijn eigen gegevens en het adres van een ander knooppunt. Het kan het adres van het volgende knooppunt opslaan, of zowel het volgende knooppunt als het vorige knooppunt. De elementen zijn met elkaar verbonden en vormen een structuur die lijkt op een ketting. Het belangrijkste voordeel van een gekoppelde lijst is dat deze dynamisch is. In tegenstelling tot een array is het niet nodig om in eerste instantie al het benodigde geheugen toe te wijzen. In plaats daarvan maakt een gekoppelde lijst het mogelijk om geheugen toe te wijzen wanneer dat nodig is.

Aan de andere kant vereist een gekoppelde lijst meer geheugen omdat het de adressen van andere knooppunten opslaat. In een gekoppelde lijst is het niet mogelijk om een ​​element in één keer willekeurig te benaderen. De programmeur moet opeenvolgend door elk knooppunt gaan om toegang te krijgen tot een bepaald element. Bovendien is het moeilijk om achteruit te rijden in de gekoppelde lijst.

Verschil tussen array en gekoppelde lijst

Definitie

Een array is een gegevensstructuur die bestaat uit een verzameling elementen die elk worden geïdentificeerd door de array-index, terwijl een gekoppelde lijst een lineaire verzameling gegevenselementen is waarvan de volgorde niet wordt gegeven door hun locatie in het geheugen. Dit is dus het belangrijkste verschil tussen Array en Linked List.

Toegang tot de elementen

Een array ondersteunt willekeurige toegang. Daarom kan de programmeur rechtstreeks toegang krijgen tot een element in de array met behulp van de index. Gekoppelde lijst ondersteunt sequentiële toegang. Daarom moet de programmeur achtereenvolgens elk element of knooppunt doorlopen totdat het vereiste element is bereikt. Daarom is dit een belangrijk verschil tussen Array en Linked List.

Geheugenlocaties

Geheugenlocaties is een ander verschil tussen Array en Linked List. De elementen in een array worden opgeslagen in aaneengesloten geheugenlocaties. Aan de andere kant kunnen de elementen in de gekoppelde lijst overal in het geheugen worden opgeslagen. Het is niet nodig om elementen op te slaan in aangrenzende geheugenlocaties.

Maat

Geheugentoewijzing

Bovendien vindt geheugentoewijzing in een array plaats tijdens het compileren. Het is een statische geheugentoewijzing. In een gekoppelde lijst vindt geheugentoewijzing echter plaats tijdens runtime. Het is een dynamische geheugentoewijzing. Daarom is dit een ander verschil tussen Array en Linked List.

Afhankelijkheid tussen elementen

Ook zijn de elementen in een array onafhankelijk van elkaar, terwijl een element of knooppunt in een gekoppelde lijst verwijst naar het volgende knooppunt of zowel het volgende knooppunt als het vorige knooppunt.

Conclusie

Zowel Array als Linked List helpen om gegevens lineair op te slaan. Het belangrijkste verschil tussen Array en Linked List is dat Array geheugen toewijst tijdens het compileren, wat het moment is om de array te declareren, terwijl Linked List geheugen toewijst tijdens runtime, wat het moment is om elementen aan de gekoppelde lijst toe te voegen.

Verwijzing:

1. "Inleiding tot gekoppelde lijsten." Soorten netwerktopologie in computernetwerken | Studieavond, hier beschikbaar. 2. Soorten netwerktopologie in computernetwerken | Studieavond, hier beschikbaar.

Afbeelding met dank aan:

1. "Array2" door Geen machineleesbare auteur opgegeven. Jarkko Piiroinen veronderstelde (op basis van auteursrechtclaims). – Geen machineleesbare bron aanwezig. Eigen werk verondersteld (op basis van auteursrechtclaims) (Public Domain) via Commons Wikimedia 2. "CPT-LinkedLists-addingnode" Door Singly_linked_list_insert_after.png: Derrick Coetzeederivatief werk: Pluke (talk) – Singly_linked_list_insert_after.png (Public Domain) via Commons Wikimedia

Wat is het verschil tussen array en gekoppelde lijst?