Wat is een tweedimensionale array?
Een tweedimensionale array is een veelgebruikt type gegevensstructuur en wordt in een of andere vorm gebruikt door bijna alle computerprogrammeertalen. In een dergelijke array worden gegevenselementen van hetzelfde type gerangschikt in een indeling die doorgaans wordt weergegeven als een tabel met rijen en kolommen. De specifieke technieken die worden gebruikt om gegevenselementen in het geheugen te lokaliseren, variëren van taal tot taal en van geval tot geval, maar de meest efficiënte varianten maken het mogelijk om eenvoudige wiskundige berekeningen te gebruiken om het specifieke geheugenadres van een bepaald array-element te lokaliseren. Arrays zijn zo gebruikelijk dat veel talen de array als een basisgegevenstype bevatten.
Arrays zijn enkele van de meest voorkomende gegevensstructuren die worden gebruikt door computerprogrammeurs. Een array wordt gedefinieerd als een reeks gegevenselementen die op unieke wijze door een aantal indices kunnen worden geïdentificeerd. Het is gebruikelijk om naar een array te verwijzen met een aantal dimensies dat gelijk is aan het aantal indexitems dat nodig is om een bepaald gegevenselement te lokaliseren. In een eendimensionale array, die in wezen een lijst is, kan elk gegevenselement worden gelokaliseerd door te verwijzen naar zijn positie in de lijst. Een tweedimensionale array gebruikt twee indices om elk gegevenselement te identificeren en kan worden gevisualiseerd als een tabel met rijen en kolommen.
Elk gegevenselement in een standaard tweedimensionale array bestaat uit hetzelfde type object. Matrixelementen zijn meestal eenvoudige variabelen, zoals drijvers of gehele getallen. In principe kan elk type informatie echter in een array worden opgeslagen, zolang elk item hetzelfde is. Een tweedimensionale array is een natuurlijke keuze voor het opslaan van gegevens die van nature in een tabel zouden worden geplaatst, en dit gegevenstype wordt heel vaak gebruikt om precies dat te doen.
In het ideale geval kan een volledige tweedimensionale reeks zich binnen een enkel continu geheugenblok bevinden. Dit zorgt voor een zeer snelle toegang, omdat het specifieke geheugenadres van elk afzonderlijk gegevenselement binnen een tweedimensionale array wiskundig kan worden berekend, met behulp van een formule op basis van de benodigde grootte voor elk gegevensitem. In de praktijk is dit niet altijd mogelijk en kunnen arrays worden opgeslagen in verschillende delen van het geheugen, een proces dat de snelheid vermindert waarmee elementen kunnen worden benaderd.
De meest basale tweedimensionale reeks heeft een vaste grootte en gebruikt gehele waarden voor indices. In veel talen kunnen alleen gehele getallen worden gebruikt voor indexwaarden, hoewel het vaak mogelijk is om aangepaste gegevenstypen te maken om deze beperking indien nodig te voorkomen. Andere variëteiten van tweedimensionale array zijn geoptimaliseerd voor specifieke doeleinden, zoals het opslaan van arrays van grotendeels lege cellen of het mogelijk maken van dynamisch formaat wijzigen.