Кои съществуват структури от данни?
sobes.tech AI
Отговор от AI
Масиви, списъци, стекове, опашки, дървета, графи, хеш таблици.
Масив: Колекция от елементи от един и същи тип, съхранявани в съседни клетки на паметта. Достъп по индекс.
Списък: Последователна колекция от елементи. Могат да бъдат едносвързани или двусвързани. Добавяне/премахване в средата е по-ефективно, отколкото в масив.
Стек: Структура LIFO (Last-In, First-Out). Операции: push (добавяне), pop (премахване от края), peek (гледане на горния елемент).
Опашка: Структура FIFO (First-In, First-Out). Операции: enqueue (добавяне в края), dequeue (премахване от началото), peek (гледане на първия елемент).
Дърво: Иерархична структура от данни. Корен, възли, потомци. Пример: двоично дърво за търсене.
Граф: Сбор от върхове (възли), свързани с ребра. Може да бъде насочен или не, с тегла или без.
Хеш таблица: Колекция от двойки ключ-стойност. Използва хеш функция за бърз достъп (средно). Възможни колизии.
Примери за използване в iOS:
- Масиви:
Array - Списъци: няма вградена класа, реализира се на базата на масиви или потребителски структури
- Стекове/Опашки: реализират се на базата на масиви или списъци
- Дървета: използват се във фреймуърки, например, в UI (иерархия на изгледите)
- Графи: за представяне на връзки, например мрежи
- Хеш таблици:
Dictionary,Set
// Пример за масив
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Достъп по индекс
// Пример за речник (хеш таблица)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Достъп по ключ