Wat is een matrixgegevensstructuur?
Een array datastructuur is een methode voor het opslaan van vergelijkbare datatypes in een lineaire volgorde. Deze lineaire volgorde biedt een zeer snelle en efficiënte toegang tot elk deel van de array. Elk stuk gegevens in een array bevindt zich op een genummerde positie een index genoemd. De feitelijke gegevens op een bepaalde index worden een element genoemd. Arrays worden veel gebruikt in de meeste computerprogrammeertalen en vormen de basis voor veel andere soorten gegevensstructuren.
Een van de belangrijkste kenmerken van een matrixgegevensstructuur is de manier waarop deze in het geheugen wordt opgeslagen. In de meeste gevallen worden arrays in een lineaire volgorde opgeslagen. Andere gegevensstructuren, zoals gekoppelde lijsten, kan elk element op elk willekeurig willekeurig punt in het geheugen worden verspreid, verspreid over het hele gebied van de beschikbare ruimte. Een array wordt in volgorde opgeslagen, zodat een aantal efficiënte bewerkingen kunnen worden uitgevoerd om snel het adres van een index in het geheugen te vinden en haal de gegevens daar op.
Er zijn verschillende manieren om een matrix datastructuur te declareren. De eenvoudigste vorm is een eendimensionale matrix, die begint bij index nul en zoveel indices kan hebben als nodig. Een tweedimensionale matrix heeft twee indices wanneer ernaar wordt verwezen, vergelijkbaar met de breedte en hoogte die worden gebruikt om coördinaten op een raster samen te stellen. Multidimensionale arrays kunnen drie of meer indices in de array hebben. Hoewel de array wordt gebruikt met meer dan één indexreferentie worden de gegevens nog steeds lineair in het geheugen opgeslagen.
Arrays verschillen van andere gegevensstructuren, zoals gekoppelde lijsten. Een gekoppelde lijst is een dynamische structuur die kan groeien en krimpen naarmate het programma wordt uitgevoerd. Voor het grootste deel zijn arrays statisch en hun grootte kan niet gewijzigd tijdens uitvoering. Dit betekent dat een array het aantal elementen beperkt dat tijdens runtime kan worden opgeslagen. Omgekeerd biedt een array volledig willekeurige toegang tot de elementen die het bevat, in tegenstelling tot een gekoppelde lijst dat moet in volgorde worden doorlopen om de elementen in het midden en het einde te bereiken.
De snelheid van een array datastructuur maakt het perfect geschikt voor gebruik in andere, meer complexe datatypes, zoals hashtabellen. De voorspelbaarheid van de geheugenadressen van de elementen kan ook worden gebruikt om zeer snelle array-splicing-algoritmen te implementeren die gegevens snel kunnen verplaatsen. Dit is met name handig voor sorteerbewerkingen zoals bubbelsoorten die perfect geschikt zijn voor gebruik met arrays.