Python: Деревья

Теория: Введение

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

Самым очевидным примером служит генеалогическое древо:

Пример генеалогического древа

В программировании подобным образом устроено файловое дерево. Файлы с расширением HTML, JSON и XML также имеют древовидную структуру. Комментарии и каталоги продуктов на сайтах тоже бывают древовидными. Любая иерархия — это дерево по определению.

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

В этом курсе нет нового синтаксиса и каких-то элементов программирования, которые не изучались на Хекслете до этого курса. Но тема деревьев сложнее остальных из-за рекурсивной природы самих деревьев. Нужно повернуть мозги в правильную сторону — это и есть самая тяжелая часть. Ее невозможно прокачать, читая теорию — помогут только практика и эксперименты.

Чтобы вам было проще понимать и запоминать новую информацию:

  1. Локально на своем компьютере повторяйте весь код, который дается в теории
  2. Используйте отладочную печать как можно больше, выводите на экран все изменения данных во время работы кода

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

Рекомендуемые программы

Завершено

0 / 10