Junior
Кадом сохторҳои дода мавҷуданд?
sobes.tech AI
Ҷавоб аз AI
Структури даних поділяються на дві основні категорії:
-
Лінійні: Елементи розташовані послідовно.
- Масив (Array): Фіксований розмір, прямий доступ за індексом.
int[] numbers = { 1, 2, 3, 4, 5 }; // Приклад оголошення - Список (List): Динамічний розмір, елементи додаються та видаляються.
System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>(); names.Add("Alice"); names.Add("Bob"); - Зв’язаний список (Linked List): Елементи (вузли) містять посилання на наступний (і, можливо, попередній) елемент.
- Однонапрямний
- Двонапрямний
System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>(); letters.AddLast('A'); letters.AddLast('B'); - Стек (Stack): Останній прийшов - перший вийшов (LIFO).
System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>(); stack.Push(10); // Додає елемент на вершину int item = stack.Pop(); // Видаляє та повертає елемент з вершини - Черга (Queue): Перший прийшов - перший вийшов (FIFO).
System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>(); queue.Enqueue("Task 1"); // Додає елемент у кінець string task = queue.Dequeue(); // Видаляє та повертає елемент з початку
- Масив (Array): Фіксований розмір, прямий доступ за індексом.
-
Нелінійні: Елементи не розташовані послідовно.
- Дерево (Tree): Ієрархічна структура з кореневим вузлом і нащадками.
- Двоїчне дерево
- B-дерево
- Червоне-чорне дерево
- AVL-дерево
- Граф (Graph): Набір вершин (вузлів) і ребер (зв’язків) між ними.
- Направлений (Directed)
- Ненаправлений (Undirected)
- Хеш-таблиця (Hash Table) / Словник (Dictionary): Зберігають пари ключ-значення, використовуючи хеш-функцію для швидкого пошуку.
System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>(); ageByName.Add("Charlie", 30); int age = ageByName["Charlie"]; // Швидкий доступ за ключем - Множина (Set): Колекція унікальних елементів без визначеного порядку.
System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>(); uniqueNumbers.Add(5); uniqueNumbers.Add(10); uniqueNumbers.Add(5); // Дублікат не буде доданий
- Дерево (Tree): Ієрархічна структура з кореневим вузлом і нащадками.