Sobes.tech
Junior

Кои съществуват структури от данни?

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) // Достъп по ключ