Skip to content

Latest commit

 

History

History
46 lines (46 loc) · 6.39 KB

Структуры данных.md

File metadata and controls

46 lines (46 loc) · 6.39 KB

Cтруктуры данных

Структуры данных — это структуры кода для хранения и организации данных, которые упрощают изменение, навигацию и доступ к информации. У каждой структуры данных есть задача или ситуация, для решения которой она наиболее подходит.
В Python есть встроенные 4 структуры данных: list, dict, set, tuple.


Массивы (списки) в Python — это набор значений одного типа, сохранённых под тем же именем. Каждое значение в массиве называется «элементом», и индексирование соответствует его положению. Получить доступ к определённым элементам можно, вызвав имя массива с индексом желаемого элемента. Преимущество списка заключается в том, что пользователь легко получает доступ к отдельным точкам данных, если знает их индексы, поскольку их порядок сохраняется. Но если местоположение элемента неизвестно, его поиск может оказаться трудоемким процессом.
Массивы


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


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


Связный список представляет собой набор узлов, которые содержат информацию и указывают друг на друга линейным образом (т. е. A -> b -> c ->d). Такой список может иметь одну из двух основных форм:

  • двусвязный список (ссылки на предыдущий и следующий узел);
  • односвязный список (указание только на следующий узел).
    Такой принцип позволяет легко вставлять и удалять элементы из списка, поскольку нужно менять только ссылки между соответствующими узлами.
    Связанный список

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


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


Хеш-таблицы— это сложная структура данных, способная хранить большие объёмы информации и эффективно извлекать определённые элементы.
В этой структуре данных используются пары ключ / значение, где ключ — это имя желаемого элемента, а значение — это данные, хранящиеся под этим именем. Каждый входной ключ проходит через хеш-функцию, которая преобразует его из начальной формы в целочисленное значение, называемое хешем. Хеш-функции всегда должны генерировать один и тот же хэш из одного и того же ввода, должны быстро вычислять и выдавать значения фиксированной длины.
Хэш-таблица


Оценка сложности действий со структурами данных