Junior
Welke gegevensstructuren bestaan er?
sobes.tech AI
Antwoord van AI
Gegevensstructuren worden in twee hoofdcategorieën verdeeld:
-
Lineair: Elementen zijn sequentieel gerangschikt.
- Array: Vaste grootte, directe toegang via index.
int[] numbers = { 1, 2, 3, 4, 5 }; // Voorbeeld van declaratie - Lijst (List): Dynamische grootte, elementen worden toegevoegd en verwijderd.
System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>(); names.Add("Alice"); names.Add("Bob"); - Gelinkte lijst (Linked List): Elementen (knopen) bevatten een verwijzing naar de volgende (en mogelijk de vorige).
- Enkelvoudig gelinkt
- Dubbel gelinkt
System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>(); letters.AddLast('A'); letters.AddLast('B'); - Stack: Last in, first out (LIFO).
System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>(); stack.Push(10); // Element toevoegen aan de top int item = stack.Pop(); // Element verwijderen en teruggeven - Queue: First in, first out (FIFO).
System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>(); queue.Enqueue("Taak 1"); // Element toevoegen aan het einde string task = queue.Dequeue(); // Element verwijderen en teruggeven
- Array: Vaste grootte, directe toegang via index.
-
Niet-lineair: Elementen zijn niet sequentieel gerangschikt.
- Boom (Tree): Hiërarchische structuur met wortelknop en afstammelingen.
- Binaire boom
- B-structuur
- Rood-zwart boom
- AVL boom
- Graf (Graph): Set van knooppunten (vertices) en verbindingen (edges) tussen hen.
- Gericht (Directed)
- Ongedirectioneerd (Undirected)
- Hash-tabel (Hash Table) / Woordenboek (Dictionary): Slaat paren sleutel-waarde op, gebruikt een hashfunctie voor snelle zoekopdrachten.
System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>(); ageByName.Add("Charlie", 30); int age = ageByName["Charlie"]; // Snelle toegang via sleutel - Set: Collectie van unieke elementen zonder specifieke volgorde.
System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>(); uniqueNumbers.Add(5); uniqueNumbers.Add(10); uniqueNumbers.Add(5); // Duplicaat wordt niet toegevoegd
- Boom (Tree): Hiërarchische structuur met wortelknop en afstammelingen.