Junior
Kādas datu struktūras pastāv?
sobes.tech AI
Atbilde no AI
Datu struktūras iedala divās galvenajās kategorijās:
-
Līnijas: Elementi ir sakārtoti secīgi.
- Masīvs (Array): Fiksēta izmēra, tieša piekļuve pēc indeksa.
int[] numbers = { 1, 2, 3, 4, 5 }; // Piemērs deklarācijai - Saraksts (List): Dinamisks izmērs, elementi tiek pievienoti un dzēsti.
System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>(); names.Add("Alice"); names.Add("Bob"); - Saistīts saraksts (Linked List): Elementi (mezgli) satur atsauci uz nākamo (un, iespējams, iepriekšējo) elementu.
- Vienvirziena
- Divvirziena
System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>(); letters.AddLast('A'); letters.AddLast('B'); - Steks (Stack): Pēdējais ienāca - pirmais iziet (LIFO).
System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>(); stack.Push(10); // Pievieno elementu int item = stack.Pop(); // Noņem un atgriež elementu - Rinda (Queue): Pirmo ienāca - pirmais iziet (FIFO).
System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>(); queue.Enqueue("Task 1"); // Pievieno elementu string task = queue.Dequeue(); // Noņem un atgriež elementu
- Masīvs (Array): Fiksēta izmēra, tieša piekļuve pēc indeksa.
-
Nelineāras: Elementi nav sakārtoti secīgi.
- Koks (Tree): Hierarhiska struktūra ar saknes mezglu un bērniem.
- Divkāršais koks
- B-koks
- Sarkanmelns koks
- AVL koks
- Tīkls (Graph): Vērtņu (mezglu) un malu (saikņu) kopums.
- Virzīts (Directed)
- Nevirzīts (Undirected)
- Hash tabula (Hash Table) / Vārdnīca (Dictionary): Glabā pārus atslēga-vērtība, izmantojot hash funkciju ātrai meklēšanai.
System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>(); ageByName.Add("Charlie", 30); int age = ageByName["Charlie"]; // Ātra piekļuve pēc atslēgas - Kopa (Set): Kolekcija ar unikāliem elementiem bez noteiktas kārtības.
System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>(); uniqueNumbers.Add(5); uniqueNumbers.Add(10); uniqueNumbers.Add(5); // Dublikāts netiks pievienots
- Koks (Tree): Hierarhiska struktūra ar saknes mezglu un bērniem.