Junior
Aké existujú dátové štruktúry?
sobes.tech AI
Odpoveď od AI
Štruktúry údajov sa delia na dve hlavné kategórie:
-
Lineárne: Prvky sú usporiadané sekvenčne.
- Pole (Array): Fixná veľkosť, priame prístupovanie podľa indexu.
int[] numbers = { 1, 2, 3, 4, 5 }; // Príklad deklarácie - Zoznam (List): Dynamická veľkosť, prvky sa pridávajú a odstraňujú.
System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>(); names.Add("Alice"); names.Add("Bob"); - Prepojený zoznam (Linked List): Prvky (uzly) obsahujú odkaz na nasledujúci (a možno aj predchádzajúci) prvok.
- Jednosmerný
- Dvosmerný
System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>(); letters.AddLast('A'); letters.AddLast('B'); - Zásobník (Stack): Posledný prišiel - prvý odišiel (LIFO).
System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>(); stack.Push(10); // Pridá prvok na vrchol int item = stack.Pop(); // Odstráni a vráti prvok z vrcholu - Fronta (Queue): Prvý prišiel - prvý odišiel (FIFO).
System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>(); queue.Enqueue("Task 1"); // Pridá prvok na koniec string task = queue.Dequeue(); // Odstráni a vráti prvok z začiatku
- Pole (Array): Fixná veľkosť, priame prístupovanie podľa indexu.
-
Nelineárne: Prvky nie sú usporiadané sekvenčne.
- Strom (Tree): Hierarchická štruktúra s koreňovým uzlom a potomkami.
- Dvojprvkový strom
- B-strom
- Červeno-čierne strom
- AVL strom
- Graf (Graph): Súbor vrcholov (uzlov) a hrán (väzieb) medzi nimi.
- Smerovaný (Directed)
- Nesmerovaný (Undirected)
- Hash tabuľka (Hash Table) / Slovník (Dictionary): Ukladajú páry kľúč-hodnota, používajúce hashovaciu funkciu pre rýchle vyhľadávanie.
System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>(); ageByName.Add("Charlie", 30); int age = ageByName["Charlie"]; // Rýchly prístup podľa kľúča - Množina (Set): Kolekcia unikátnych prvkov bez určeného poradia.
System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>(); uniqueNumbers.Add(5); uniqueNumbers.Add(10); uniqueNumbers.Add(5); // Duplicita nebude pridaná
- Strom (Tree): Hierarchická štruktúra s koreňovým uzlom a potomkami.