Статья

Деревья и обходы

5 сентября 2026~8 минут10–11 класс

Если «Деревья и обходы» вызывает ступор — это нормально: тема собрана из простых идей. Покажем их по порядку: теория, пример, разбор задания и типичные ошибки.

Что такое дерево и зачем нужны обходы

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

Дерево — это связный граф без циклов. Его элементы называют вершинами, а соединения — рёбрами. У дерева есть одна особая вершина — корень. От корня идут ветви к дочерним вершинам, а вершины без потомков называют листьями.

У каждой вершины, кроме корня, есть ровно один родитель. Между любыми двумя вершинами существует единственный путь. Если в дереве n вершин, то рёбер всегда n − 1. Это свойство часто позволяет быстро проверить ответ.

В математике и информатике дерево обычно изображают сверху вниз: корень располагают наверху, его потомков ниже, а листья — на последнем уровне. Важно не направление рисунка, а отношения «родитель — потомок».

Основные понятия и свойства

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

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

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

ПонятиеЧто означаетКак проверить
КореньГлавная вершина дереваНет родителя
ЛистВершина без потомковНет исходящих ветвей
ГлубинаРасстояние от корняСчитаем рёбра на пути
ВысотаМаксимальная глубинаБерём самый длинный путь вниз
Совет репетитора

Перед подсчётом подпиши глубины рядом с вершинами. Так ты не перепутаешь число уровней с числом рёбер и быстрее заметишь ошибку.

Три главных обхода

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

В симметричном обходе порядок такой: левое поддерево → корень → правое поддерево. Для двоичного дерева поиска этот обход выводит значения по возрастанию, поэтому он особенно полезен.

В обратном обходе сначала обрабатывают левое и правое поддеревья, а затем корень: левое → правое → корень. Такой порядок удобен, когда объект можно удалить только после удаления всех его частей.

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

Не пытайся запоминать названия отдельно от схемы. Сначала найди момент, когда записывается корень: в начале — прямой обход, в середине — симметричный, в конце — обратный.

Разобранный пример

Рассмотрим дерево. У корня 8 есть левый сын 3 и правый сын 10. У вершины 3 дети 1 и 6, а у 6 дети 4 и 7. У вершины 10 есть правый сын 14. Найдём высоту, листья и три последовательности обхода.

Дерево: 8 → (3, 10)
3 → (1, 6)
6 → (4, 7)
10 → (∅, 14)
Листья: 1, 4, 7, 14
Высота: путь 8 → 3 → 6 → 4 содержит 3 ребра

Сначала проверяем высоту: самый длинный путь от корня до листа проходит через 3 и 6, поэтому высота равна 3. В прямом обходе записываем 8, затем полностью левую часть: 3, 1, 6, 4, 7, и после этого правую: 10, 14.

Прямой: 8 → 3 → 1 → 6 → 4 → 7 → 10 → 14
Симметричный: 1 → 3 → 4 → 6 → 7 → 8 → 10 → 14
Обратный: 1 → 4 → 7 → 6 → 3 → 14 → 10 → 8

Заметь: симметричная последовательность получилась возрастающей. Это не случайность: перед нами дерево поиска, где слева лежат меньшие значения, а справа — большие.

Типичные ошибки и практика

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

Третья ошибка — менять местами левое и правое поддеревья. В симметричном обходе это особенно заметно: для дерева поиска правильный результат должен идти по возрастанию. Четвёртая — считать корень листом. Лист не имеет детей, а корень может быть листом только в дереве из одной вершины.

Ловушка

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

Для закрепления решай задачи в таком порядке: сначала подпиши корень и уровни, затем выдели листья, после этого составь нужную последовательность. Бесплатная практика в личном кабинете поможет тренироваться короткими сериями и сразу разбирать неверные шаги.

Что запомнить

Дерево — связный граф без циклов; при n вершинах в нём n − 1 ребро. Глубина — расстояние от корня до вершины, высота — максимальная глубина. В прямом обходе корень идёт первым, в симметричном — между левым и правым поддеревьями, в обратном — последним. Обход в ширину движется по уровням.

Перед решением задачи определи корень, направление, тип обхода и способ подсчёта уровней. Если нужно повторить базовые алгоритмы, загляни в раздел подготовки к ЕГЭ или материалы для ОГЭ. Следующий шаг простой: зарегистрируйся и реши 5 заданий бесплатно в личном кабинете.

Чем дерево отличается от графа?

Дерево — частный случай графа: оно связно и не содержит циклов. Между любыми двумя его вершинами существует единственный путь.

Как найти высоту дерева?

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

Какой обход даёт значения по возрастанию?

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

Как закрепить тему после разбора?

Нарисуй несколько небольших деревьев, для каждого выпиши листья, глубины и три последовательности обхода. Затем реши задания на обход в ширину и проверь себя по свойствам дерева.

Не оставляйте тему «прочитанной»

Понимание — половина дела. Вторая — практика с обратной связью: личный кабинет Просто Урок покажет, где вы ошибаетесь, и подтянет слабые места.

Важно. Материалы сайта носят информационно-образовательный характер и не являются публичной офертой (ст. 437 ГК РФ), индивидуальной консультацией или руководством к действию. Мы аккуратно работаем с фактами, но не гарантируем полную точность и актуальность: структура и правила экзаменов могут меняться — сверяйтесь с официальными источниками (ФИПИ, действующие кодификаторы и нормативные акты РФ). Администрация сайта не несёт ответственности за возможные неточности и за решения, принятые на основе материалов. Заметили неточность — напишите нам, мы исправим.