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

Дополнить класс, включив метод подсчета числа узлов заданного бинарного дерева - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить программу сортировки массива строк по длине строки http://www.cyberforum.ru/cpp-beginners/thread1039375.html
Составить программу сортировки массива строк по длине строки.
C++ Вывод динамического,двумерного массива #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #include <string.h> int main() { int n = 1; int chisloX = 1, chisloY = 1; int yyyy = 1, yyyy1 = 1; http://www.cyberforum.ru/cpp-beginners/thread1039374.html
Задача с файлами и функциями по системному программированию C++
Помогите пожалуйста доделать задачу. Вот то, что уже есть. Здесь считываются 3 числа с файла, которые являются коэфициентами уравнения ах^2+bx+c=0 (обычного квадратного уравнения). Далее производится вычисление корней и результаты записываются в еще один файл. Итак, нужно переделать что бы в коде была любая функция, и производился циклический процесс ввода данных и подсчет, если все коэфициенты...
C++ в чем ошибка?
Не выводит минимальное число, пишет 0 #include <iostream> using std::cout; int main() { int array; int min=array; for (int i=0;i<5;i++)
C++ Вычислить и вывести на экран значения функции в виде таблицы http://www.cyberforum.ru/cpp-beginners/thread1039362.html
Здравствуйте, помогите плиз, кому не трудно: Вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора, на интервале от Хнач до Хкон с шагом dX с точностью ε (эпсилон). Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. Заранее спасибо за помощь!
C++ для вещественного массива 2х2 сумму элементов, больших максимального отрицательного. для вещественного массива 2х2 сумму элементов, больших максимального отрицательного. что только не пробовала с суммой, не считает он помогите разобраться #include <iostream> #include <stdlib.h> #include <time.h> #include <math.h> подробнее

Показать сообщение отдельно
uburuntu
 Аватар для uburuntu
94 / 94 / 29
Регистрация: 04.10.2012
Сообщений: 188
16.12.2013, 20:34     Дополнить класс, включив метод подсчета числа узлов заданного бинарного дерева
Я так понял, что ваш вопрос заключается лишь в подсчете элементов и концевых узлов дерева.
Напишу стандартные реализации, вы уж сами переделайте под свой код.

На вход подается любой узел дерева, функция возвращает количество элементов в поддереве, корнем которой является входной узел.
Ну и всё дерево посчитать может, естественно.
C++
1
2
3
4
int countAll (TreeNode *head)
{
    return head == 0 ? 1 : countAll(head -> get_left()) + countAll(head -> get_right()) + 1;
}
C++
1
2
3
4
5
int countLeaf (TreeNode *head)
{
    if (!head) return 0;
    return !head -> get_left() && !head -> get_right() ? 1 : countLeaf(head -> get_left()) + countLeaf(head -> get_right());
}
Функции реализуют довольно тривиальную рекурсию, у начинающих могут возникнуть проблемы с пониманием алгоритма, задавайте вопросы, если что.
 
Текущее время: 03:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru