840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
1

Сбалансированное дерево

16.11.2012, 23:33. Показов 726. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ, надо написать алгоритм создания сбалансированного дерева.
Вот сам алгоритм. Все хорошо, он работает, но не хватает одного элемента, т.е. он считывает на один элемент меньше чем надо!! Подскажите пожалуйста где ошибка.
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
32
33
34
Tree* BildTree(Tree* First,int n,ifstream* f)
{
    cout<<n<<endl;
    int left;
    int right;
    Tree* BranchAdd=First;
    int key;
    if (n==0)
    {
        return BranchAdd;
    }
    else
        if (n==1)
        {
            return First;
        }
        else
        {
            left=n/2;
            right=n-1-n/2;
            (*f)>>key;
            Add(BranchAdd,key,0);
            BildTree(BranchAdd->left,left,f);
            if (right>0)
            {
                (*f)>>key;
                Add(BranchAdd,key,1);
                BildTree(BranchAdd->right,right,f);
                First=BranchAdd;
                return First;
            }
        }
    return First;
}
Вот структура:
C++
1
2
3
4
5
6
struct Tree
{
    int key;
    Tree* left;
    Tree* right;
};
И Добовление узла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void Add(Tree* branch,int key,bool flag)
{
    Tree* BrAdd=new Tree();
    BrAdd->key=key;
    if (flag)
    {
        cout<<"Right"<<key<<endl;
        branch->right=BrAdd;
    }
    else
    {
        cout<<"Left"<<key<<endl;
        branch->left=BrAdd;
    }
}
cout для дебага вставлял.
Помогите пожалуйста, укажите ошибку(

Добавлено через 25 минут
Народ, ау помогите плиз(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2012, 23:33
Ответы с готовыми решениями:

Сбалансированное дерево
Всем привет!) Для учебной практики требуется решить задачу: Написать программу в С++, суть...

Сбалансированное дерево
Ребят, может есть у кого код сбалансированного дерева с подробными комментариями, чтобы...

Идеально сбалансированное дерево
Интересует как работает этот кусок кода) по идеи Create(&amp;tmp-&gt;right, nr); сюда компилятор никогда...

Идеально сбалансированное дерево
Всем привет. Нужно построить идеально сбалансированное дерево из букв, упорядоченное я сделал, но...

0
16.11.2012, 23:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2012, 23:33
Помогаю со студенческими работами здесь

Сбалансированное дерево (бинарное)
кто сможет, пожалуйста напишите код с++, построения сбалансированного дерева,функцию добавления...

Сбалансированное не бинарное дерево
Каково определение сбалансированного произвольного, не бинарного дерева ? Например, для...

Идеально сбалансированное дерево
В файле input.txt хранится последовательность целых чисел.По входной последовательности построить...

Сбалансированное двоичное дерево поиска
ЗДРАВСТВУЙТЕ! Есть код. При компилировании выдаёт ошибку. Помогите исправить пожалуйста. avl.h...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru