Структура данных - это контейнер, информация в котором скомпонована характерным образом. Для каждой задачи - необходима своя.
Массивы - это простейшая и наиболее распространенная структура данных. Стеки и очереди, производны от массивов.
Стеки - линейная структура где все храниться в виде последовательной стопки (LIFO). Пример: Ctrl+Z или Stack память JAVA.
Очереди - линейная структура как стек, но по принципу FIFO.
Связные списки - линейная структура данных, похожа на массив. Отличается от массива по выделению памяти, внутренней структуре и процессу выполнения операции вставки и удаления. Состоит из цепочки узлов(Данные и ссылка на следующий элемент). Есть головной указатель, соответствующий первому элементу в связном списке, и, если список пуст, то он направлен просто на null.
Графы - это множество узлов, соединенных друг с другом в виде сети. Узлы также называются вершинами. Пара (x,y) называется ребром, это означает, что вершина x соединена с вершиной y. Ребро может иметь вес/стоимость — показатель, характеризующий, насколько затратен переход от вершины x к вершине y.
Деревья - это иерархическая структура данных, состоящая из вершин (узлов) и ребер, которые их соединяют. Деревья подобны графам, однако, ключевое отличие дерева от графа таково: в дереве не бывает циклов.
Боры(префиксное дерево) - это древовидная структура данных, которая особенно эффективна при решении задач на строки. Она обеспечивает быстрое извлечение данных и чаще всего применяется для поиска слов в словаре, автозавершений в поисковике и даже для IP-маршрутизации. Вот как три слова «top» (верх), «thus» (следовательно), and «their» (их) хранятся в бору:
Хеш-таблицы - хеширование — это процесс, применяемый для уникальной идентификации объектов и сохранения каждого объекта по заранее вычисленному индексу, именуемому его «ключом». Таким образом, объект хранится в виде «ключ-значение», а коллекция таких объектов называется «словарь». Каждый объект можно искать по его ключу. Существуют разные структуры данных, построенные по принципу хеширования, но чаще всего из таких структур применяется хеш-таблица.