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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yur@
5 / 5 / 2
Регистрация: 06.03.2014
Сообщений: 106
#1

Почти полное бинарное дерево - C++

28.04.2014, 18:37. Просмотров 403. Ответов 0
Метки нет (Все метки)

Здравствуйте! Подскажите пожалуйста, как сделать так, чтобы функция проходилась к примеру по всей левой части дерева. Я сделал функцию проверки дерева на то, является ли оно почти полным, но при входе в левое поддерево, функция проверяет только левых потомком. То есть к примеру, если у правого узла есть потомки, то функция их не проверяет!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
bool left(TNode *&root, int &cnt2){
    cnt2++;
    if (!root)return true;
    if(root->right && !root->left)
        return false;
    left(root->left, cnt2);
}
 
bool right(TNode *&root, int &cnt1){
    cnt1++;
    if (!root)return true;
    if(root->right && !root->left)
        return false;
    right(root->right, cnt1);
}
 
bool PPBD(TNode *rootTree){
    int cnt1 = 0, cnt2 = 0;
    if(left(rootTree,cnt2)&&right(rootTree,cnt1)){
        if(cnt1<=cnt2)
            return true;
    }
    else return false;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2014, 18:37     Почти полное бинарное дерево
Посмотрите здесь:

полное бинарное дерево в консоль - C++
Помогите нарисовать полное бинарное дерево в консоле по заданному количеству уровней. чтобы выглядело норм , например через функцию...

Исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру - C++
Помогите, не могу понять!( Нужно исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру. вот...

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой - C++
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

Определить, является ли дерево почти полным - C++
Здравствуйте, подскажите пожалуйста, как произвести проверку является ли дерево почти полным?

Бинарное дерево - C++
Разработать и реализовать на языке С следующие функции работой с бинарным деревом: 1. Создание пустого дерева 2. Добавление элемента в...

Бинарное дерево - C++
Здравствуйте.Прошу помощи.Никак не могу разобраться в задании.Нужно сделать бинарное дерево и с помощью дерева привести выражение к...

Бинарное дерево - C++
Здравствуйте, Корень создаёться вот так TREE *root=NULL; непонятно почему функия добовления использует указатель на указатель ...

Бинарное дерево - C++
Столкнулся с уникальной проблемой от которой волосы дыбом встают. Вот код, достаточно первой итерации цикла, я ввожу данные а потом...

Бинарное дерево - C++
Нужно записать в дерево и вывести в форматированном виде каталог файлов(типа windows) на вход даны имена файлов вида c:\win\1 ...

Бинарное дерево - C++
Как организовать вывод бинарного дерева?


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

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

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