Понимание структур данных

Добро пожаловать в мой пост о понимании основ структур данных!

Здесь мы рассмотрим базовый обзор концепций, которые вам необходимо изучить, чтобы начать осваивать структуры данных.

Массив

Массив — это просто список чего-то, окруженный символом [], и может содержать различные типы данных.

Простейшая структура данных, массив служит основой для структур данных, которые мы рассмотрим далее в блоге. Вот пример массива:

Shopping List: Chips, Steak, Broccoli, Milk, Eggs

let shoppingList = ["Chips", "Steak", "Broccoli", "Milk", "Eggs"]
Вход в полноэкранный режим Выход из полноэкранного режима

Для добавления элементов в массив не существует строгих правил, но они есть для других структур данных, которые мы рассмотрим.

Очередь

Очередь похожа на массив, она представляет собой список, но при добавлении или удалении элементов в очереди действует правило «первый вошел — первый вышел».

По сути, первый элемент, который мы добавляем в очередь, будет также первым элементом, который будет удален из очереди.

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

Стек

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

Мне нравится думать о стеке как о стопке тарелок, где первая добавленная тарелка находится внизу, а последняя — наверху.

Связанный список

Дальше все становится немного мутным, начиная со связных списков.

В связных списках есть элемент (или узел), в котором есть переменная, указывающая на другой элемент в памяти. Таким образом, вместо использования массива для хранения всех данных, эти элементы соединяются друг с другом с помощью собственной переменной-указателя, которая связывает их друг с другом.

Связные списки бывают двух видов: односвязные и двусвязные.

Односвязные списки имеют головной элемент, который указывает на следующий элемент, на следующий элемент и так далее, пока не будет достигнут элемент, указатель которого установлен на NULL. Двусвязные списки означают, что каждый элемент имеет следующий и предыдущий указатели на соответствующие следующий/предыдущий элементы.

Деревья

Подобно связанным спискам, деревья представляют собой структуру данных, элементы которой указывают друг на друга в памяти. Однако вместо следующего/предыдущего элементов, указывающих на элемент, деревья имеют левый/правый дочерний элемент. Эти дочерние элементы и создают древовидную структуру.

Самая сложная для понимания структура данных, но при правильной реализации она может обеспечить высокую производительность и дать вам преимущество в процессе собеседования!

Заключение

Эта статья лишь поверхностно коснулась структур данных, но это должно заставить вас начать изучать и, в конечном итоге, применять их в своей повседневной работе! Есть и другие (и более продвинутые) структуры данных, с которыми вы столкнетесь на своем пути разработчика. Удачи вам в дальнейшем!

Источники
Гик для гиков

Оцените статью
devanswers.ru
Добавить комментарий