Welke gegevensstructuren bestaan er?
sobes.tech AI
Antwoord van AI
Arrays, lijsten, stapels, wachtrijen, bomen, grafen, hash-tabellen.
Array: Collectie van elementen van hetzelfde type, opgeslagen in aangrenzende geheugenlocaties. Toegang via index.
Lijst: Sequentiële verzameling elementen. Kan enkelvoudig of dubbel gekoppeld zijn. Toevoegen/verwijderen in het midden is efficiënter dan in een array.
Stapel: LIFO-structuur (Last-In, First-Out). Operaties: push (toevoegen), pop (verwijderen van het einde), peek (bekijken van het bovenste element).
Wachtrij: FIFO-structuur (First-In, First-Out). Operaties: enqueue (aan het einde toevoegen), dequeue (van het begin verwijderen), peek (eerste element bekijken).
Boom: Hiërarchische datastructuur. Wortel, knooppunten, nakomelingen. Voorbeeld: binaire zoekboom.
Graf: Verzamelpunt van knooppunten (vertices), verbonden door randen. Kan gericht of ongericht, gewogen of ongewogen zijn.
Hash-tabel: Verzameling van sleutel-waardeparen. Gebruikt hashfunctie voor snelle toegang (gemiddeld). Collisies kunnen voorkomen.
Voorbeelden van gebruik in iOS:
- Arrays:
Array - Lijsten: geen ingebouwde klasse, geïmplementeerd op basis van arrays of aangepaste structuren
- Stapels/Wachtrijen: geïmplementeerd op basis van arrays of lijsten
- Bomen: gebruikt in frameworks, bijvoorbeeld in UI (hiërarchie van weergaven)
- Grafen: voor het weergeven van verbindingen, bijvoorbeeld netwerken
- Hash-tabellen:
Dictionary,Set
// Voorbeeld array
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Toegang via index
// Voorbeeld woordenboek (hash-tabel)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Toegang via sleutel