Дерево — одна из самых распространенных структур данных в информатике и естественный способ моделирования некоторых предметных областей. С деревьями как структурой данных встречаются все люди, даже далекие от программирования и компьютеров.
Самым очевидным примером служит генеалогическое древо:
В программировании подобным образом устроено файловое дерево. Файлы с расширением HTML, JSON и XML также имеют древовидную структуру. Комментарии и каталоги продуктов на сайтах тоже бывают древовидными. Любая иерархия — это дерево по определению.
С деревьями связан один очень интересный аспект. Уровень понимания темы деревьев и способность с ними работать сильно коррелирует с уровнем разработчика. Если разработчику легко работать с деревьями, то он довольно хорошо разбирается в своем и чужом коде, если нет — у него больше сложностей с написанием и анализом кода.
В этом курсе нет нового синтаксиса и каких-то элементов программирования, которые не изучались на Хекслете до этого курса. Но тема деревьев сложнее остальных из-за рекурсивной природы самих деревьев. Нужно повернуть мозги в правильную сторону — это и есть самая тяжелая часть. Ее невозможно прокачать, читая теорию — помогут только практика и эксперименты.
Чтобы вам было проще понимать и запоминать новую информацию:
- Локально на своем компьютере повторяйте весь код, который дается в теории
- Используйте отладочную печать как можно больше, выводите на экран все изменения данных во время работы кода
В этом небольшом курсе мы слегка погрузимся в тему деревьев и научимся с ними работать. Мы не будем рассматривать алгоритмы так, как их преподают в университетах — у этого курса совсем другие цели. Он учит работать с рекурсивными структурами данных через древовидную рекурсию.
Дополнительные материалы
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.