image_pdf

В стандартной библиотеке Python содержится обширный набор структур данных. Однако, из-за различий в именах часто неясно, насколько известные абстрактные типы данных соответствуют конкретной реализации в Python.

Другие языки, такие как Java, в большей степени привержены «компьютерным наукам», что отражается в прозрачном именовании своих встроенных структур данных. Например, список — это не просто «список»! В Java — это либо LinkedList, либо ArrayList, что облегчает оценку вычислительной сложности этих типов.

Python предпочитает более простую и «человечную» схему именования. Недостатком является то, что для Python неясно, что лежит в основе реализации встроенного типа list — связанный список или динамический массив?

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

Хорошо, давайте начнем. Эта статья — «аэродром» для отдельных руководств по структурам данных, ссылки на которые вы всегда здесь найдёте:

Фундаментальные структуры данных в Python

  1. Словари, карты и хэш-таблицы
  2. Наборы и мультимножества
  3. Массивы
  4. Записи, структуры и объекты передачи данных
  5. Стэк (stack)
  6. Очереди (deq)
  7. Очереди приоритетов
  8. Связанные списки

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

Source

Опубликовано Вадим В. Костерин

Ст.преп. кафедры ИТЭ. Автор более 130 научных и учебно-методических работ. Лауреат ВДНХ (серебряная медаль).

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *