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