Учебники

Python — DS Введение

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

В этой главе мы собираемся изучить краткий обзор некоторых часто используемых структур данных в целом и того, как они связаны с некоторыми конкретными типами данных Python. Есть также некоторые структуры данных, специфичные для python, который указан как другая категория.

Общие структуры данных

Различные структуры данных в информатике в целом разделены на две категории, показанные ниже. Мы обсудим каждую из следующих структур данных подробно в последующих главах.

Линейные Структуры Данных

Это структуры данных, которые последовательно хранят элементы данных.

  • Массив: это последовательное расположение элементов данных в сочетании с индексом элемента данных.
  • Связанный список: каждый элемент данных содержит ссылку на другой элемент вместе с данными, присутствующими в нем.
  • Стек: это структура данных, которая соответствует только определенному порядку работы. LIFO (последний в очереди) или FILO (первый в очереди).
  • Очередь: это похоже на стек, но порядок операций только FIFO (первый вошел, первый вышел).
  • Матрица: это двумерная структура данных, в которой элемент данных обозначается парой индексов.

Нелинейные структуры данных

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

  • Двоичное дерево: это структура данных, в которой каждый элемент данных может быть связан максимум с двумя другими элементами данных и начинается с корневого узла.
  • Куча: это особый случай структуры данных дерева, когда данные в родительском узле либо строго больше или равны дочерним узлам, либо строго меньше его дочерних узлов.
  • Хеш-таблица: это структура данных, которая состоит из массивов, связанных друг с другом с использованием хеш-функции. Он извлекает значения, используя ключи, а не индекс из элемента данных.
  • График: Это расположение вершин и узлов, где некоторые узлы связаны друг с другом через ссылки.

Специфические структуры данных Python

Эти структуры данных специфичны для языка Python и обеспечивают большую гибкость в хранении различных типов данных и более быструю обработку в среде Python.

  • Список: это похоже на массив, за исключением того, что элементы данных могут быть разных типов данных. Вы можете иметь как числовые, так и строковые данные в списке Python.
  • Кортеж: кортежи похожи на списки, но они неизменны, что означает, что значения в кортеже нельзя изменить, их можно только прочитать.
  • Словарь: словарь содержит пары ключ-значение в качестве элементов данных.

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