Встречается на 20% собеседований по Mobile

Расскажи, про какие структуры данных знаешь

Существует множество структур данных, каждая из которых предназначена для решения определённого набора задач. Вот некоторые из наиболее часто используемых структур:

Массивы (Arrays)
Это коллекция элементов, расположенных в памяти последовательно. Все элементы массива обычно имеют одинаковый тип данных. Доступ к элементам массива осуществляется с помощью индексов. Массивы могут быть одномерными, двумерными и многомерными.

Связные списки (Linked Lists)
Состоит из узлов, каждый из которых содержит данные и ссылку (или указатель) на следующий узел в списке. Существуют односвязные списки (где каждый узел ссылается только на следующий узел) и двусвязные списки (где узлы содержат ссылки как на следующий, так и на предыдущий узлы).

Стеки (Stacks)
Это коллекция элементов с принципом последний пришёл — первый вышел (LIFO: Last In, First Out). Основные операции — это добавление элемента на вершину стека (push) и удаление элемента с вершины стека (pop).

Очереди (Queues)
Это коллекция элементов с принципом первый пришёл — первый вышел (FIFO: First In, First Out). Основные операции — это добавление элемента в конец очереди (enqueue) и удаление элемента из начала очереди (dequeue).

Двоичные деревья поиска (Binary Search Trees)
Это структура данных, в которой каждый узел имеет не более двух дочерних элементов (известных как левый и правый потомок), причём левый потомок меньше родителя, а правый — больше. Это обеспечивает эффективный поиск, вставку и удаление элементов.

Хэш-таблицы (Hash Tables)
Это структура данных, использующая хэш-функцию для вычисления индекса в массиве бакетов или слотов, откуда можно найти желаемое значение.

Графы (Graphs)
Состоит из узлов (вершин) и рёбер, соединяющих эти узлы. Графы бывают направленными и ненаправленными, а также могут содержать циклы или быть ацикличными. Графы используются для моделирования связей между объектами.

Кучи (Heaps)
Это специализированное дерево, которое удовлетворяет свойству кучи: для максимальной кучи каждый родительский узел больше или равен своим дочерним узлам, а для минимальной кучи — меньше или равен.

Очереди с приоритетом (Priority Queues)
Это тип данных, похожий на обычную очередь или стек, но в котором каждый элемент имеет определённый приоритет. Элементы с более высоким приоритетом обрабатываются перед элементами с более низким приоритетом.

Эти структуры данных лежат в основе многих алгоритмов и используются для решения различных задач. Выбор структуры данных зависит от конкретной задачи и требований к производительности операций с данными.

April 12, 2024, easyoffer

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы