Junior
119
questionbank

Какие существуют структуры данных?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Массивы, списки, стеки, очереди, деревья, графы, хеш-таблицы.

Массив: Коллекция элементов одного типа, хранящихся в смежных ячейках памяти. Доступ по индексу.

Список: Последовательная коллекция элементов. Могут быть односвязными, двухсвязными. Добавление/удаление в середине эффективнее, чем в массиве.

Стек: Структура LIFO (Last-In, First-Out). Операции: push (добавить), pop (удалить из конца), peek (посмотреть верхний элемент).

Очередь: Структура FIFO (First-In, First-Out). Операции: enqueue (добавить в конец), dequeue (удалить из начала), peek (посмотреть первый элемент).

Дерево: Иерархическая структура данных. Корень, узлы, потомки. Пример: двоичное дерево поиска.

Граф: Набор вершин (узлов), соединенных ребрами. Может быть ориентированным или неориентированным, взвешенным или невзвешенным.

Хеш-таблица: Коллекция пар ключ-значение. Использует хеш-функцию для быстрого доступа (в среднем). Возможны коллизии.

Примеры использования в iOS:

  • Массивы: Array
  • Списки: нет встроенного класса, реализуются на основе массивов или пользовательских структур
  • Стеки/Очереди: реализуются на основе массивов или списков
  • Деревья: используются во фреймворках, например, в UI (иерархия представлений)
  • Графы: для представления связей, например сетевых графов
  • Хеш-таблицы: Dictionary, Set
swift