Vad är en tvådimensionell array?

En tvådimensionell array är en mycket vanlig typ av datastruktur och används i en eller annan form av nästan alla datorprogrammeringsspråk. I en sådan array är dataelement av samma typ ordnade i ett format som vanligtvis visas som en tabell med rader och kolumner. De specifika teknikerna som används för att lokalisera dataelement i minnet varierar från språk till språk och fall till fall, men de mest effektiva varianterna möjliggör enkel matematisk beräkning som kan användas för att lokalisera den specifika minnesadressen för ett givet arrayelement. Arrayer är så vanliga att många språk inkluderar arrayen som en grundläggande datatyp.

Arrayer är några av de vanligaste datastrukturerna som används av datorprogrammerare. En array definieras som en serie dataelement som unikt kan identifieras av ett antal index. Det är vanligt att hänvisa till en array som har ett antal dimensioner lika med antalet indexobjekt som behövs för att lokalisera ett visst dataelement. I en endimensionell array, som i huvudsak är en lista, kan varje dataelement lokaliseras genom att referera till dess position i listan. En tvådimensionell matris använder två index för att identifiera varje dataelement och kan visualiseras som en tabell med rader och kolumner.

Varje dataelement i en standard tvådimensionell array består av samma typ av objekt. Matriselement är oftast enkla variabler, som flytande eller heltal. I princip kan dock vilken typ av information som helst lagras i en array, så länge varje objekt är detsamma. En tvådimensionell array är ett naturligt val för att lagra all data som naturligt skulle placeras i en tabell, och denna datatyp används mycket ofta för att göra just det.

Helst kan en hel tvådimensionell array placeras inom ett enda kontinuerligt minnesblock. Detta möjliggör mycket snabb åtkomst, eftersom den specifika minnesadressen för varje enskilt dataelement inom en tvådimensionell array kan beräknas matematiskt, genom att använda en formel baserad på den storlek som behövs för varje dataelement. I praktiken är detta inte alltid möjligt, och arrayer kan lagras i olika delar av minnet, en process som minskar hastigheten med vilken element kan nås.

Den mest grundläggande varianten av tvådimensionell array har en fast storlek och använder heltalsvärden för index. Många språk tillåter att endast heltal används för indexvärden, även om det ofta är möjligt att bygga anpassade datatyper för att undvika denna begränsning vid behov. Andra varianter av tvådimensionella arrayer är optimerade för specifika syften, som att lagra arrayer med till stor del tomma celler eller möjliggöra dynamisk storleksändring.