Wat is een gegevensstructuur?
Een gegevensstructuur is een concept van informatica die verwijst naar een bepaalde methode voor het verzamelen en organiseren van informatie. Alle gegevensstructuren gebruiken informatie over waar een bepaald stuk gegevens zich in het geheugen van een computer bevindt om toegang te krijgen tot die gegevens en deze te verbinden met andere gegevens. Gegevensstructuren vormen een van de vele verschillende soorten relaties tussen individuele stukjes informatie. Verschillende soorten gegevensstructuur zijn efficiënter voor verschillende doeleinden, en de moeilijkheid van codering varieert sterk tussen soorten gegevensstructuur.
arrays behoren tot de eenvoudigste gegevensstructuren, maar zijn niettemin zeer krachtige hulpmiddelen voor het organiseren van informatie. In een array worden elementen opeenvolgende geheugenadressen toegewezen, waardoor het geheugenadres van elk item in de array zeer snel kan worden bepaald met behulp van eenvoudige wiskundige berekeningen, een belangrijk voordeel. Arrays kunnen worden opgevat als bestaande in een willekeurig aantal dimensies. Een eendimensionale array migHT worden geconceptualiseerd als een lijst, een tweedimensionale array als een tabel en een driedimensionale array als een kubus van individuele cellen. Arrays van meer dan drie dimensies kunnen ook bestaan.
gekoppelde lijsten zijn een andere eenvoudige maar zeer belangrijk type gegevensstructuur. In een gekoppelde lijst bestaat elk knooppunt uit een variabele die zowel werkelijke gegevens als informatie bevat die het volgende element in de lijst identificeert. Een gekoppelde lijst kan dus worden doorgevoerd zolang het adres van het eerste knooppunt bekend is. Dit type gegevensstructuur is veelzijdig omdat het zich leent voor dynamische groei, omdat nieuwe knooppunten gemakkelijk op elk moment kunnen worden toegewezen. Door de toevoeging van een variabele die de locatie van het vorige knooppunt in de lijst bevat, kan dit type gegevensstructuur in beide richtingen worden doorkruist.
bomen bestellen knooppunten hiërarchisch, beginnend met een rootknooppunt, en dalen door meerdere lagen knooppunten VNTil alle benodigde gegevens zijn ondergebracht in de structuur. Meestal zijn de elementen in een boom op een of andere manier gesorteerd. Bomen kunnen sorteren implementeren en kunnen hierdoor mogelijk veel snellere toegang bieden tot opgeslagen gegevens, omdat elke vertakking hele stukken informatie uit de overweging elimineert die zou moeten worden gesorteerd in een gekoppelde lijst.
hashtabellen worden gebruikt om een geheugenadres te bepalen waarin een bepaald stuk gegevens moet worden opgeslagen door een vergelijking te gebruiken om die gegevens in een geheugenadres te transformeren. Ze kunnen een zeer efficiënte structuur zijn voor het opslaan en ophalen van gegevens uit een array.
Alle gegevensstructuren zijn ontworpen om het aantal instructies te verminderen dat een computer moet uitvoeren om een bepaald stuk informatie te vinden. Verschillende soorten gegevens lenen zich voor verschillende soorten gegevensstructuur, maar de meeste moderne programmeertalen bieden ondersteuning voor een breed scala aan gegevensstructuur, of bieden de tools om toe te staanProgrammeurs om hun eigen gegevensstructuren te coderen.