Datastructuren stellen een collectie van data voor die nog kan veranderen doorheen de tijd. In een datastructuur kan je bijvoorbeeld elementen toevoegen, elementen verplaatsen of elementen verwijderen. Je kan ook de elementen zelf aanpassen. Het aantal elementen in een datastructuur ligt niet vast.
👀 Voorbeeld - Voldoende water drinken
Filiberke denkt aan zijn gezondheid: hij weet hoe belangrijk het is om voldoende water te drinken. Hij houdt per dag bij hoeveel glazen water hij heeft gedronken:
ma: 4, di: 6, wo: 7, do: 6, vr: 8, za: 5, zo: 7
Om dit digitaal bij te houden gebruikt hij een datastructuur, zodat hij dagelijks een element kan toevoegen. Hij heeft dit al een week bijgehouden en zal morgen (maandag) een nieuwe waarde toevoegen.
In het geheugen wordt deze datastructuur opgeslagen in opeenvolgende cellen, op een willekeurige plaats.
🧠 Denkoefening - Water terugvinden
Welk geheugenadres moeten we onthouden om dit overzicht terug te vinden in het geheugen?
❗ Begrip - Datastructuur
Een datastructuur is een samenstelling van nul, een of meerdere elementen. Je kan een datastructuur wijzigen, bijvoorbeeld door elementen toe te voegen, te veranderen of te verwijderen.
👀 Voorbeeld - Missverkiezing
Jaarlijks worden er missverkiezingen gehouden. De vorige winnaressen worden bijgehouden in een tabel, maar jaar na jaar komt hier een nieuwe miss bij.
Jaar Winnares 2023 Emilie Vansteenkiste 2022 Chayenne Van Aarle 2021 Kedist Deltour 2020 Celine Van Ouytsel Indien we de winnaressen van Miss België digitaal willen bijhouden, moeten we een datastructuur gebruiken, omdat die kan uitbreiden. Indien we de voornamen van de winnaressen opslaan in het geheugen ziet dat er als volgt uit:
🤔 Huh? - Waarom plaatsen we de namen niet achter elkaar?
De elementen in de datastructuur van het vorige voorbeeld zijn van het type
string
. Eenstring
wordt opgesplitst in zijn opeenvolgende karakters. Indien we de verschillendestring
s achter elkaar zouden plakken is het niet duidelijk wanneer er een nieuwestring
begint.Daarom slaan we elke
string
apart op in het geheugen en wordt de datastructuur opgeslagen als een opeenvolging van geheugenadressen die wijzen naar het begin van de juistestring
.
🧠 Denkoefening - Miss terugvinden
Welk geheugenadres moeten we onthouden om de lijst met winnaressen terug te vinden in het geheugen?
🧐 Wist je dat…
… om het einde van een
string
aan te duiden er een eindmarkering wordt gebruikt? Dit zorgt ervoor dat je nooit per ongeluk tweestring
s die na elkaar in het geheugen staan, als één langestring
leest. In Dodona gebruiken we een vereenvoudigde versie van het geheugen van de computer en geven we die eindmarkering niet weer.