Junior
Ce structuri de date există?
sobes.tech AI
Răspuns de la AI
Structurile de date sunt împărțite în două categorii principale:
-
** Liniare**: Elementele sunt aranjate secvențial.
- Array (Tablou): Dimensiune fixă, acces direct după index.
int[] numbers = { 1, 2, 3, 4, 5 }; // Exemplu de declarație - Listă (List): Dimensiune dinamică, elementele sunt adăugate și eliminate.
System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>(); names.Add("Alice"); names.Add("Bob"); - Listă legată (Linked List): Elementele (nodo-urile) conțin o referință la următorul (și posibil la anteriorul).
- Singură legată
- Dublu legată
System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>(); letters.AddLast('A'); letters.AddLast('B'); - Stivă (Stack): Ultimul intrat, primul ieșit (LIFO).
System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>(); stack.Push(10); // Adaugă element în vârful stivei int item = stack.Pop(); // Elimină și returnează elementul din vârf - Coada (Queue): Primul intrat, primul ieșit (FIFO).
System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>(); queue.Enqueue("Task 1"); // Adaugă element la sfârșit string task = queue.Dequeue(); // Elimină și returnează elementul din început
- Array (Tablou): Dimensiune fixă, acces direct după index.
-
Nelinieare: Elementele nu sunt aranjate secvențial.
- Copac (Tree): Structură ierarhică cu nod rădăcină și descendenți.
- Copac binar
- Copac B
- Copac roșu-negru
- Copac AVL
- Graf (Graph): Set de vârfuri (noduri) și muchii (legături) între ele.
- Orientat (Directed)
- Neorientat (Undirected)
- Tabel hash (Hash Table) / Dicționar (Dictionary): Stochează perechi cheie-valoare, folosind o funcție hash pentru căutare rapidă.
System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>(); ageByName.Add("Charlie", 30); int age = ageByName["Charlie"]; // Acces rapid după cheie - Mulțime (Set): Colecție de elemente unice fără o ordine specifică.
System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>(); uniqueNumbers.Add(5); uniqueNumbers.Add(10); uniqueNumbers.Add(5); // Dublura nu va fi adăugată
- Copac (Tree): Structură ierarhică cu nod rădăcină și descendenți.