16 / 16 / 10
Регистрация: 27.10.2015
Сообщений: 104
1

Добавление элемента в обычное бинарное дерево

02.12.2017, 15:19. Показов 2593. Ответов 5
Метки нет (Все метки)

Доброго времени суток, форумчане!
Начинаю реализовывать бинарное дерево (обычное, НЕ поиска) и сразу столкнулась с проблемой - добавление узла.
Нацарапала функцию, да и та работает неправильно...
В интернете читала много статей, а все они про бинарное дерево поиска, где идет сравнение ключей (возможно, плохо искала)
Если у вас есть реализации таких деревьев или ссылки на какие-нибудь статьи с реализацией, то буду очень благодарна
Также прилагаю свою кривонаписанную функцию и определение классов



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
35
36
37
38
39
40
41
42
43
class element {
    int value;
    element* left;
    element* right;
public:
    element(int x) { value=x; left=NULL; right=NULL; }
    int getdata() { return value; }
    element* getleft() { return left;   }
    element* getright() { return right; }
    void setleft(element* n) { left=n; }
    void setright(element* n) { right=n; }
};
 
class tree {
    
    element* parent;
public:
    tree(); element* root;
    element* insert(int v, element* r);
    void show();
    void obhod(element* root);
};
 
tree::tree() {
    root=NULL;
    cout << "Sozdano pustoe binarnoe derevo.\n";
}
 
element* tree::insert(int v, element* r) {
    if (root==NULL) {
        element* n=new element(v);
        root=n;
        return root;
    } 
    
    if (r==NULL) {
        element* n=new element(v);
        return r;
    } else if (r->getleft()==NULL) {
        r->setleft(insert(v,r->getleft()));
    } else r->setright(insert(v, r->getright()));
    return r;   
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2017, 15:19
Ответы с готовыми решениями:

Добавление элемента в бинарное дерево
Добрый вечер, помогите написать метод добавления в бинарное дерево. Я написал вот такой код: class...

Бинарное дерево поиска (удаление, добавление элемента)
Задачи В Бинарном дереве поиска 1)введено с клавиатуры значение, если существует узел с таким...

Добавление нового элемента в бинарное дерево поиска с вспомогательной функцией(без рекурсии)
с реализацией этой функции с рекурсией проблем нету.но без нее уже по-сложнее(.есть функция иbool...

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

5
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
02.12.2017, 15:52 2
Лучший ответ Сообщение было отмечено Okozaoko как решение

Решение

А в чём смысл "обычного" бинарного дерева?
0
16 / 16 / 10
Регистрация: 27.10.2015
Сообщений: 104
02.12.2017, 15:54  [ТС] 3
В нем нет четкого правила расположения узлов (больше/меньше корня). Заполняется слева направо. Примерно выглядит вот так (пример немного неудачный, так как узел 10 расположен справа от узла 5, а не слева, как должен бы был):
Скорее всего его смысл в том, чтоб привить навыки представления дерева в компьютере.
Надо реализовать, а также написать три функции: добавление, удаление, вывод
Изображения
 
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
02.12.2017, 15:56 4
Okozaoko, ну а зачем оно нужно?
0
16 / 16 / 10
Регистрация: 27.10.2015
Сообщений: 104
02.12.2017, 15:59  [ТС] 5
Вы меня спрашиваете? Понятия не имею
Цитата Сообщение от Okozaoko Посмотреть сообщение
Скорее всего его смысл в том, чтоб привить навыки представления дерева в компьютере.
Возможно вот
Проходим в университете деревья, в практической работе 4 задания: обычное бинарное дерево на базе массива, обычное бинарное дерево на базе указателей, бинарное дерево поиска на базе указателей, дерево с произвольным числом потомков
0
16 / 16 / 10
Регистрация: 27.10.2015
Сообщений: 104
07.12.2017, 11:14  [ТС] 6
Задача решена
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2017, 11:14
Помогаю со студенческими работами здесь

Добавление элементов бинарное дерево
Всем добрый день, не выручит кто нибудь алгоритмом который заполняет двоичное дерево поиска

Шаблон класса «бинарное дерево», добавление элементов
Написал код: #include &lt;iostream&gt; using namespace std; class Aviobilet { public: char...

Добавления элемента в бинарное дерево
Уже создавал подобную тему , но так и не получилось разобраться до конца . Есть такая задача :...

Бинарное дерево, удаление элемента
Задание: создать класс для хранения целых чисел в виде бинарного дерева. Обеспечить поиск,...


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

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

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