Junior
Koje postoje strukture podataka?
sobes.tech АИ
Одговор од АИ
Strukture podataka dele se na dve osnovne kategorije:
-
Linearnye: Elementi su raspoređeni sekvencijalno.
- Niz (Array): Fiksne veličine, direktan pristup po indeksu.
int[] numbers = { 1, 2, 3, 4, 5 }; // Primer deklaracije - Lista (List): Dinamičke veličine, elementi se dodaju i uklanjaju.
System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>(); names.Add("Alice"); names.Add("Bob"); - Povezana lista (Linked List): Elementi (čvorovi) sadrže referencu na sledeći (i, možda, prethodni) element.
- Jednosmerna
- Dvosmerna
System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>(); letters.AddLast('A'); letters.AddLast('B'); - Stek (Stack): Poslednji došao - prvi otišao (LIFO).
System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>(); stack.Push(10); // Dodaje element na vrh int item = stack.Pop(); // Uklanja i vraća element s vrha - Red (Queue): Prvi došao - prvi otišao (FIFO).
System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>(); queue.Enqueue("Task 1"); // Dodaje element na kraj string task = queue.Dequeue(); // Uklanja i vraća element s početka
- Niz (Array): Fiksne veličine, direktan pristup po indeksu.
-
Nelinearne: Elementi nisu raspoređeni sekvencijalno.
- Stablo (Tree): Hijerarhijska struktura s korenskim čvorom i potomcima.
- Dvostruko stablo
- B-stablo
- Crveno-crno stablo
- AVL stablo
- Graf (Graph): Skup vrhova (čvorova) i grana (veza) između njih.
- Usmeren (Directed)
- Nusmeren (Undirected)
- Hash tabela (Hash Table) / Rečnik (Dictionary): Čuvaju parove ključ-vrednost, koristeći hash funkciju za brzo pretraživanje.
System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>(); ageByName.Add("Charlie", 30); int age = ageByName["Charlie"]; // Brzi pristup po ključu - Skup (Set): Kolekcija jedinstvenih elemenata bez određenog reda.
System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>(); uniqueNumbers.Add(5); uniqueNumbers.Add(10); uniqueNumbers.Add(5); // Duplikat neće biti dodat
- Stablo (Tree): Hijerarhijska struktura s korenskim čvorom i potomcima.