На Горох
Информатика

Уровни бусин в дереве

"Информатика", Рудченко Т.А., Семёнов А.Л. / Под ред. Семёнова А.Л.

Объяснение темы

Кратко о теме

Дерево бусин — схема с верхней корневой бусиной и связями, ведущими к нижним бусинам. Чтобы описывать положение каждой бусины, ей назначают уровень: корень имеет уровень 0, а каждый переход вниз увеличивает его на единицу. Уровень показывает длину пути от корня, помогает находить бусины на одинаковом расстоянии, сравнивать ветви и определять, насколько глубоко расположена часть дерева.

Объяснение темы

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

Определения и обозначения

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

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

Уровень бусины — количество переходов по связям от корневой бусины до данной бусины. Корень имеет уровень 0, а бусина, до которой нужно сделать два перехода, находится на уровне 2. Это число показывает удалённость бусины от начала дерева.

Родительская и дочерняя бусины — две связанные бусины, между которыми верхняя является родительской, а нижняя — дочерней. У родителя может быть несколько дочерних бусин, но у каждой дочерней бусины в этом пути только один непосредственный родитель. Такая пара помогает переходить от одного уровня к следующему.

Как это устроено

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

Корневая бусина имеет уровень 0, потому что путь от неё до неё самой не содержит переходов. Когда мы идём к непосредственно соединённой бусине, появляется один переход, поэтому уровень становится 1. Каждый следующий шаг добавляет ровно одну связь, так что число уровня естественно увеличивается на единицу.

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

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

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

Уровни бусин в дереве

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

Элемент или ситуацияКак определить уровеньЧто важно помнить
Корневая бусинаУровень равен 0Отсчёт начинается с корня
Бусина, соединённая непосредственно с корнемСосчитать одну связь от корняУровень равен 1
Бусина на втором уровнеНайти путь из двух связей от корняНе считать количество бусин вместо связей
Бусина на произвольном уровнеПосчитать все связи на пути от корняКаждый переход учитывается один раз
Бусины одного уровняСравнить длины их путей от корняОни могут быть на разных ветвях
Самый глубокий уровень дереваНайти наибольший уровень среди всех бусинОн соответствует максимальной длине пути

Разбор задач

Задача 1

Условие. По изображённому дереву нужно определить уровень каждой бусины, начиная с верхней. Известно только, что связи образуют обычное дерево с одним корнем. Требуется не пропустить ни одной связи на ветвях.

  1. Обозначаем верхнюю бусину корневой и записываем для неё уровень 0.
  2. Переходим к каждой бусине, соединённой с корнем, и записываем уровень 1.
  3. Для следующего ряда считаем путь от корня: после двух связей ставим уровень 2, после трёх — уровень 3.
  4. Повторяем подсчёт отдельно для каждой ветви до самых нижних бусин.

Ответ. Уровни получают последовательные значения 0, 1, 2, 3 и далее по длине пути. На одном уровне могут оказаться несколько бусин, если от корня до каждой из них ведёт одинаковое число связей. Важно подписывать уровень каждой бусины по её собственному пути.

Задача 2

Условие. Дана часть дерева: известны уровни нескольких бусин и связи между ними, но одна подпись пропущена. Нужно определить уровень пропущенной бусины и восстановить остальные подписи. Используем связь между родителем и дочерним элементом.

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

Ответ. Если родитель имеет уровень 4, его непосредственная дочерняя бусина имеет уровень 5. При двух переходах вниз от уровня 4 получаются уровни 5 и 6. Проверка должна привести к корню с уровнем 0.

Задача 3

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

  1. Для каждой бусины считаем число связей от корня и записываем уровень.
  2. Выбираем все элементы с нужным числом, например с уровнем 3, независимо от ветви.
  3. Сравниваем уровни выбранных бусин на разных ветвях, а не их число дочерних элементов.
  4. Наибольшее записанное число объявляем самым глубоким уровнем дерева.

Ответ. Все бусины уровня 3 находятся на расстоянии трёх связей от корня. Если две бусины имеют уровни 2 и 5, первая расположена ближе к корню, а вторая глубже. Самый глубокий уровень равен максимальному числу, полученному при проверке всех ветвей.

Типичные ошибки

Нумерация с 1 вместо 0. Так происходит, когда считают саму корневую бусину первым объектом, а не считают переходы. Проверьте себя вопросом: сколько связей нужно пройти от корня до корня?

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

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

Уровень определяют только по высоте на рисунке. Схема может быть нарисована неровно, поэтому визуальная позиция иногда вводит в заблуждение. Проверьте уровень по единственному пути от корня, а затем уже сравнивайте расположение на листе.

Связь с другими темами

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

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

  • Дерево начинается с корневой бусины.
  • Уровень корневой бусины равен 0.
  • Каждый переход от родительской бусины к дочерней увеличивает уровень на 1.
  • Уровень бусины равен числу связей на пути от корня до неё.
  • Бусины на одном уровне могут находиться на разных ветвях.
  • Количество дочерних бусин не определяет уровень.
  • Самый глубокий уровень соответствует наиболее удалённым от корня бусинам.

Частые вопросы по теме

Почему уровень корневой бусины равен 0, а не 1?

До корневой бусины от самой себя не нужно делать ни одного перехода. Поэтому длина пути от корня до корня равна 0, и именно этот номер получает корневая бусина.

Как определить уровень бусины, если дерево сильно разветвляется?

Найдите путь от корневой бусины до нужной и посчитайте все связи на этом пути. Разветвления в других частях дерева не влияют на результат.

Могут ли бусины на одной высоте рисунка иметь разные уровни?

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

Чем уровень бусины отличается от количества её дочерних бусин?

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

Как найти самый глубокий уровень дерева?

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

Спросить по теме параграфа

Уровни бусин в дереве

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика", Рудченко Т.А., Семёнов А.Л. / Под ред. Семёнова А.Л.