Форум программистов, компьютерный форум CyberForum.ru

Подсчитать количество листьев в дереве - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.78
VladSharikov
 Аватар для VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
18.03.2012, 19:15     Подсчитать количество листьев в дереве #1
Привет.
Задали курсовик =)
Все сделал, осталось подсчитать количество листьев в дереве.

Лист - это узел дерева, из которого не происходят никакие потомки. Короче указатели на левое и правое поддерево NULL.
Как это посчитать в коде? Я так понимаю нужна рекурсия. Не понимаю чего нужно сделать.

Что нибудь типа прямого обхода дерева с функцией проверки адресов указателей на поддеревья и подсчетом их?

Добавлено через 4 часа 32 минуты
C++
1
2
3
4
5
6
7
8
int list_count(Node* node)
{
 if (!node)
  return 0;
 if (!node->left && !node->right)
  return 1;
 return list_count(node->left) + list_count(node->right);
}
если кому надо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2012, 19:15     Подсчитать количество листьев в дереве
Посмотрите здесь:

C++ В бинарном дереве подсчитать число его листов
C++ Количество листьев в бинарном дереве
Подсчитать количество положительных и отрицательных чисел и количество нулей в массиве C++
Сформировать бинарное дерево, посчитать количество листьев C++
Поиск листьев в дереве C++
C++ Подсчитать количество всех строк, а потом - количество слов в каждой строке
Работа с строками: подсчитать количество слов, количество букв C++
Как в бинарном дереве у всех листьев вычесть введенное число? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru