"Информатика", Семёнов А.Л., Рудченко Т.А.
Дерево — это схема из вершин и связей, в которой нет замкнутых маршрутов. У дерева есть корень, от него начинаются ветви к другим вершинам. Путь показывает последовательность вершин, через которые нужно пройти от одной вершины к другой. Главное правило: в дереве между двумя вершинами существует только один путь, а его длину находят по числу пройденных рёбер.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Дерево — это структура из вершин и связей между ними, в которой нет замкнутых циклов. Вершины можно представить как пункты, а связи — как линии между ними. Такое устройство помогает показывать иерархии, где от одного пункта идут ветви к другим.
Корень дерева — вершина, с которой начинается движение по дереву. От корня определяют, какие вершины являются предками, а какие — потомками. Корень нужен, чтобы выбрать общее направление сверху вниз.
Путь в дереве — это последовательность вершин, соединённых рёбрами, по которой можно пройти от одной вершины к другой. В запись пути включают не только начало и конец, но и все промежуточные вершины. Благодаря этому видно, каким маршрутом выполнено движение.
Длина пути — количество рёбер между начальной и конечной вершинами. Каждое ребро означает один переход от вершины к соседней. Поэтому длина помогает узнать, сколько таких переходов нужно сделать.
Путь от корня к любой вершине единственный, потому что в дереве нет замкнутых циклов и разветвлений, которые соединяли бы одни и те же пункты разными маршрутами. Если бы существовали два разных пути, они образовали бы замкнутый участок. Такое строение уже не считалось бы деревом.
Чтобы построить путь от корня, сначала найдите выбранную вершину, а затем проследите ветвь назад к корню. В обратном направлении вы увидите её предков, а при записи пути расположите вершины от корня к потомку. Так получается непрерывная цепочка, в которой каждая соседняя пара соединена ребром.
Вершина — это отдельный объект дерева, например точка с буквой. Ребро — линия, соединяющая две соседние вершины, а лист — вершина без потомков. Предок находится выше выбранной вершины, потомок — ниже неё, поэтому эти слова описывают положение объектов на ветви.
Длину считают по рёбрам, потому что ребро показывает действие перехода. В пути А–Б–Д есть переход А–Б и переход Б–Д, то есть два ребра. Вершин при этом три: начальная, промежуточная и конечная.
По изображению сначала определите начальную и конечную вершины, указанные в условии. Затем найдите непрерывную ветвь между ними и запишите точки по порядку движения. После записи проверьте каждую соседнюю пару: между ними должна быть линия, а число таких линий будет длиной пути.
| Элемент или характеристика | Что означает | Как определить на рисунке |
|---|---|---|
| Корень | Вершина, с которой начинается дерево | Находится в начале и не имеет предка |
| Вершина | Объект или пункт дерева | Обозначается точкой, кружком или именем |
| Ребро | Связь между двумя соседними вершинами | Линия, соединяющая вершины |
| Лист | Вершина без потомков | Расположен на конце ветви |
| Путь | Цепочка вершин, соединённых рёбрами | Записывается от начальной вершины к конечной |
| Длина пути | Количество рёбер в пути | Подсчитываются переходы между соседними вершинами |
Пользуйтесь таблицей как проверочным списком при работе со схемой. Сначала находите вершины и рёбра, затем определяете путь и подсчитываете его длину. Если объект находится на конце ветви и не имеет продолжения, это лист.
Дано дерево с рёбрами А–Б, А–В, Б–Г, Б–Д, В–Е. Корень — А, конечная вершина — Д. Нужно записать путь от А до Д.
Ответ: А–Б–Д. Вершину В добавлять нельзя, потому что она не лежит на маршруте к Д.
Используется то же дерево с рёбрами А–Б, А–В, Б–Г, Б–Д, В–Е. Нужно найти длину пути от А до Г и указать число вершин в записи. Сначала определим сам маршрут, а затем отдельно посчитаем рёбра и вершины.
Ответ: путь А–Б–Г, его длина равна 2. Количество вершин в этом пути равно 3.
Дано дерево: А–Б, А–В, Б–Г, Б–Д, В–Е, Е–Ж. Требуется найти путь между вершинами Г и Ж и его длину. Обе вершины находятся в разных ветвях, поэтому маршрут проходит через их общего предка А.
Ответ: путь Г–Б–А–В–Е–Ж, длина пути равна 5. В записи шесть вершин, но переходов между ними только пять.
Ошибка 1. Длиной пути считают количество вершин, потому что видят их в записи. Проверьте себя: пересчитайте не буквы, а линии между соседними буквами.
Ошибка 2. Вершины записывают не от указанного начала, а в удобном порядке. Это меняет направление движения и может дать неверный ответ. Сначала перепишите начальную вершину, затем добавляйте каждый следующий переход.
Ошибка 3. При переходе от корня к листу пропускают промежуточную вершину. Так происходит, если смотрят только на начало и конец ветви. Проверьте, что каждое соседнее обозначение соединено одним ребром.
Ошибка 4. Любую последовательность букв принимают за путь. Но путь существует только тогда, когда каждая соседняя пара вершин соединена ребром. Проведите маршрут глазами по схеме без прыжков через другие вершины.
До изучения пути дерева нужно уметь работать с множествами объектов, схемами, вершинами и связями между объектами. Эти понятия помогают читать изображение и понимать, что обозначают точки и линии. Без них трудно правильно описать структуру дерева.
Путь дерева нужен при изучении алгоритмов поиска, файловой системы и иерархических структур. Например, папки и вложенные папки образуют ветви, а путь к файлу показывает последовательность переходов. Алгоритм тоже может двигаться по вершинам, выбирая следующий шаг.
Понятие пути встречается в описании маршрутов, структуры папок и последовательности действий. Везде важно указать начало, конец и промежуточные пункты. Подсчёт рёбер показывает, сколько переходов требуется выполнить.
Можно ли считать корень частью пути?
Да, корень входит в путь, если движение начинается с него или проходит через него. Например, путь от А до Д записывается так: А–Б–Д.
Почему длина пути не равна количеству вершин?
Длина показывает число переходов между соседними вершинами, а каждый переход обозначается ребром. Поэтому в пути А–Б–Д три вершины, но длина равна двум.
Может ли в дереве быть два разных пути между одними вершинами?
Нет, в дереве между двумя вершинами существует только один путь. Второй маршрут означал бы наличие замкнутого цикла.
Как найти путь между двумя листьями?
Сначала двигайтесь от первого листа вверх к общему предку, затем от него спускайтесь к второму листу. Запишите все вершины по порядку, не пропуская промежуточные.
Что делать, если начальная и конечная вершины совпадают?
Путь состоит из одной вершины. Рёбер между начальной и конечной точками нет, поэтому длина такого пути равна нулю.
Путь дерева