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

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

Восстановить пароль Регистрация
 
yur@
5 / 5 / 2
Регистрация: 06.03.2014
Сообщений: 106
28.04.2014, 18:37     Почти полное бинарное дерево #1
Здравствуйте! Подскажите пожалуйста, как сделать так, чтобы функция проходилась к примеру по всей левой части дерева. Я сделал функцию проверки дерева на то, является ли оно почти полным, но при входе в левое поддерево, функция проверяет только левых потомком. То есть к примеру, если у правого узла есть потомки, то функция их не проверяет!
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++
Бинарное дерево C++
C++ полное бинарное дерево в консоль
Бинарное дерево C++
Определить, является ли дерево почти полным C++
C++ Бинарное дерево
C++ Бинарное дерево
Бинарное дерево C++

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

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

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