Структура данных. В компьютерных науках структура данных – это формат организации, управления и хранения данных, обеспечивающий эффективный доступ и изменение. Точнее, структура данных — это набор значений данных, взаимосвязей между ними и функций или операций, которые можно применять к данным.

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

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

В чем разница между структурами данных и алгоритмами? Проще говоря… Структуры данных — это просто контейнер данных. Принимая во внимание, что алгоритмы представляют собой последовательность действий, которые можно использовать для решения проблемы или выполнения задачи.

Некоторыми примерами общих структур данных могут быть:

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

Связанные списки – это последовательная структура, состоящая из элементов в линейном порядке, связанных друг с другом с помощью так называемого "указателя".

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

Хеш-таблицы — структура данных, в которой данные хранятся в виде пар ключ:значение.

Деревья – иерархичны, в них данные организованы и связаны друг с другом.

Heaps- — это специальное двоичное дерево, в котором родительские узлы сравниваются с их дочерними узлами с их значениями, а затем упорядочиваются соответствующим образом.

Некоторым примером алгоритмов может быть:

Двоичный поиск принимает отсортированный массив и возвращает индекс искомого значения.

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

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

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