Sobes.tech
Junior

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