Структура данных. В компьютерных науках структура данных – это формат организации, управления и хранения данных, обеспечивающий эффективный доступ и изменение. Точнее, структура данных — это набор значений данных, взаимосвязей между ними и функций или операций, которые можно применять к данным.
Алгоритм — это конечная последовательность четко определенных, реализуемых компьютером инструкций, обычно предназначенных для решения класса задач или выполнения вычислений. Алгоритмы всегда однозначны и используются в качестве спецификаций для выполнения вычислений, обработки данных, автоматизированных рассуждений и других задач.
Для новичка или новичка эти термины могут быть страшными и пугающими. Но погружение и изучение этих двух ключевых компонентов обеспечит прочную основу для остальной части вашего путешествия по программированию.
В чем разница между структурами данных и алгоритмами? Проще говоря… Структуры данных — это просто контейнер данных. Принимая во внимание, что алгоритмы представляют собой последовательность действий, которые можно использовать для решения проблемы или выполнения задачи.
Некоторыми примерами общих структур данных могут быть:
Массивы — это структуры фиксированного размера, которые могут содержать элементы или элементы одного типа данных. У вас может быть массив разных типов данных, но это не обычная практика.
Связанные списки – это последовательная структура, состоящая из элементов в линейном порядке, связанных друг с другом с помощью так называемого "указателя".
Стеки и очереди. Думайте об этом как о куче элементов. Стек — это операция «последним пришел — первым обслужен», а очередь — «первым пришел — первым вышел».
Хеш-таблицы — структура данных, в которой данные хранятся в виде пар ключ:значение.
Деревья – иерархичны, в них данные организованы и связаны друг с другом.
Heaps- — это специальное двоичное дерево, в котором родительские узлы сравниваются с их дочерними узлами с их значениями, а затем упорядочиваются соответствующим образом.
Некоторым примером алгоритмов может быть:
Двоичный поиск принимает отсортированный массив и возвращает индекс искомого значения.
Пузырьковая сортировка. При этом соседние элементы многократно меняются местами, пока все элементы не будут найдены в нужном порядке.
Сортировка слиянием многократно разбивает список на несколько подсписков, пока каждый подсписок не будет состоять из одного элемента, и объединяет эти подсписки таким образом, чтобы получить отсортированный список.
Я обнаружил, что повторение и пересмотр этих концепций помогает мне лучше понимать и использовать структуры данных и алгоритмы.