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

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

Войти
Регистрация
Восстановить пароль
 
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 145
#1

Бин. дер. поиска , рекурсия - C++

16.01.2013, 19:00. Просмотров 260. Ответов 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
25
26
27
28
29
30
31
            case 13 : {
                bool a;
                a = sim(root);
                if(a == true)cout<<"da\n";
                else cout<<"net\n";
                break;
            }
 
bool alpha(bintree *l,bintree *r){
 
  //  bool a;
       if( l && r ){ 
 
        if(!l->right && r->left){cout<<"a\n";return false;}
        if(l->right && !r->left){cout<<"b\n";return false;}   
        if(!l->left && r->right){cout<<"c\n";return false;}
        if(l->left && !r->right){cout<<"d\n";return false;}
       alpha(l->left,r->right);
       alpha(l->right,r->left);
    }
    return true;
 
}
 
bool sim(bintree *root){
    bintree *l = root; // левое поддерево
    bintree *r = root;//правое поддерево
 
    return alpha(l->left,r->right);
 
}
Работа кода некорректна , но при этом при выполнении функции alpha ,он определяет несимметричность(т.к. выводит одно из слагаемых : a .c .b .d ,но все же возвращает true , как исправить ситуацию ?)

Добавлено через 7 часов 11 минут
Полагаю дело в 22 строке , но как её заменить . ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 19:00     Бин. дер. поиска , рекурсия
Посмотрите здесь:

Рекурсив. обход бин. дерева поиска - C++
Доброе утро. Имею следующий код : print_tree(bintree *p){ if(p){ print_tree(p-&gt;left); cout&lt;&lt;p-&gt;inf&lt;&lt;&quot; &quot;; ...

C++. Рекурсия бинарного поиска переделать для массива - C++
Есть рекурсия бинарного поиска с проверкой на наличия числа, но с уже даным массивом сделать авто заполнения массива до числа n #include...

Рекурсия для поиска вещественного корня функции f(x) на отрезке [a, b] - C++
Написать рекурсивную функцию нахождения вещественного корня функции f(x) на отрезке . Указание.Пусть функция f(x) вещественной переменной x...

Рекурсия (не могу из нее выйти) поиска пути в лабиринте - C++
Добрый день, друзья! Пытаюсь реализовать программу, которая бы находила путь в лабиринте(интовый массив, элемент =5 точка входа,...

Рекурсия. Написать программу поиска минимального пути для произвольной пары городов - C++
Привет. Помогите пожалуйста решить задачку: Расстояния между городами заданы матрицей (Если между городами i,j есть прямой путь с...

Постройка бин. дерева - C++
помогите, не строится дерево #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; struct tree {...

Сохранение и чтение бин. дерева - C++
написал функцию хранения дереваint save(node* p) { char fname ; if (p==0) {cout&lt;&lt;&quot;Пусто&quot;;Sleep(500);return -1;} ...

Организация поиска в списке. Исправить ошибку в методе поиска - C++
Сколько бы у меня желания не было, найти ее не могу. Может кто помочь? Заранее спасибо... #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

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

рекурсия в С++ - C++
Изучаю использование рекурсивной функции в С++. Правильно ли я понял: - что нет ограничений в max depth вызова рекурсии которые функция...

Рекурсия - C++
Привет. Только что узнал,что такое рекурсия и понял как она работает,но написать участок кода с рекурсией мозгов не хватает. Нужно...

Рекурсия - C++
Помогите пожалуйста составить программу, с помощью рекурсии: Определить значение отношения максимального и минимального из...


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

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

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