Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 1
Регистрация: 23.09.2012
Сообщений: 96
1

Определить количество вершин на к-уровне дерева

08.06.2013, 22:46. Просмотров 2034. Ответов 1
Метки нет (Все метки)

Дан указатель на корень дерева и натуральное число К. Определить количество вершин на к-уровне. Считать, что нумерация уровней идет от корня сверху вниз и начинается с 0.
Я знаю, как решить эту задачу, когда дерево полное. А что делать, если оно неполное. Подскажите, пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2013, 22:46
Ответы с готовыми решениями:

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

Подсчитать число вершин на n – ом уровне непустого дерева Т (корень считать вершиной нулевого уровня)
Дана такая задача: "Подсчитать число вершин на n – ом уровне непустого дерева Т (корень считать...

Посчитать количество листьев и неполных вершин заданного бинарного дерева
Всем привет. Нужна срочно помощь. Вот задание: 1.Посчитать количество листьев и неполных вершин...

Определить, является ли одна из вершин дерева предком другой (Графы)
Напишите программу, которая для двух вершин дерева определяет, является ли одна из них предком...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30337 / 19829 / 7750
Регистрация: 22.10.2011
Сообщений: 34,576
Записей в блоге: 6
09.06.2013, 20:58 2
Лучший ответ Сообщение было отмечено stella1 как решение

Решение

Дерево бинарное? Тогда пишем функцию:
Pascal
1
2
3
4
5
6
7
8
9
10
function CountNthLevel(k, level : Integer; root : TTree) : Integer;
begin
  if root <> nil then
  begin
     if k = level then result := 1
     else if k > level then result := CountNthLevel(k, level + 1, root^.left) + CountNthLevel(k, level + 1, root^.right)
     else result := 0;
  end
  else result := 0;
end;
, которая будет считать кол-во элементов на нужном уровне. Вызывается так:
Pascal
1
   writeln(CountNthLevel(5, 0, root)); // для 5-го уровня
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2013, 20:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Напечатать все элементы дерева Т по уровням: сначала из корня дерева, затем (слева направо) – из вершин, дочерних по отн
Напечатать все элементы дерева Т по уровням: сначала из корня дерева, затем (слева направо) – из...

Найти величину наибольшего элемента на n-м уровне дерева
Найти величину наибольшего элемента на n-м уровне дерева (корень считать вершиной 0-го уровня).

Определить количество листьев на каждом уровне дерева итеративным способом
Здравствуйте, необходима помощь. Необходимо написать процедуру, определяющую количество листьев на...

Подсчет количества вершин на каждом уровне дерева
В общем я написал функцию, но что-то он считает неверно. Не могли бы вы мне помочь разобраться? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.