Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
-12 / 0 / 0
Регистрация: 08.10.2016
Сообщений: 39
1

Как заполнить бинарное дерево чтобы оно не было деревом поиска?

30.07.2017, 13:44. Показов 980. Ответов 3

Author24 — интернет-сервис помощи студентам
Здесь я хочу сделать так чтобы число в зависимости от случайного temp отправлялось налево или направо, НО у меня происходит утечка памяти и на выходе я получаю меньшее количество элементов чем необходимо, кто знает подскажите пожалуйста как исправить ну или какой ещё есть способ
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
void fillTree(Tree* const root, int n) {
    for (int i = 0; i < n; i++) {
 
        Tree* item = new Tree;
        item->Data = rand() % 100;
        item->Left = nullptr;
        item->Right = nullptr;
 
        Tree* cur = root;
        Tree* prev = nullptr;
 
        while (cur) {
            int temp = rand() % 100;
            if (cur->Data != item->Data) {
                if (temp % 2 == 0) { 
                    prev = cur;      
                    cur = cur->Right;
                }
                else {
                    prev = cur;
                    cur = cur->Left;
                }
            }
            else {
                prev = cur;
                cur = cur->Right;
                needed = true;
            }
        }
        if (prev->Data < item->Data)
            prev->Right = item;
        else
            prev->Left = item;
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2017, 13:44
Ответы с готовыми решениями:

Бинарное дерево поиска. Как осуществить запись в файл и чтение из файла
Добрый день! Если кому не жаль своего времени окажите помощь! Необходимо осуществить запись в...

Бинарное дерево поиска
Здравствуйте! Дали такое задание. И нужно вместо троеточий вставить несколько строчек. Как я поняла...

Как заполнить бинарное дерево, чтобы оно не превратилось в обычный стек
вот допустим написал заполнение данных в виде бинарного дерева, и в слуае если данные записываются...

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

3
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
31.07.2017, 14:55 2
Искал маллок, нашел new А чтобы дерево не было деревом поиска, заполнять его надо как угодно, только не так как надо Например, все пихать влево или все вправо.
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
31.07.2017, 15:03 3
Цитата Сообщение от _Ivana Посмотреть сообщение
Например, все пихать влево или все вправо.
Тогда оно в список выродится. Но, если не пытаться отслеживать
Цитата Сообщение от _Ivana Посмотреть сообщение
только не так как надо
а пихать элементы в дерево по принципу "как повезёт", то можно так например сделать
C
1
2
3
4
if ( rand() & 1)
    // пихать вправо
else
    // пихать влево
0
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
31.07.2017, 15:40 4
Цитата Сообщение от easybudda Посмотреть сообщение
Тогда оно в список выродится.
Не страшно, это не нарушает условий задачи.
Цитата Сообщение от easybudda Посмотреть сообщение
то можно так например сделать
ТС так и делает вроде, судя по словесному описанию его алгоритма.
0
31.07.2017, 15:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.07.2017, 15:40
Помогаю со студенческими работами здесь

Преобразовать идеальное бинарное дерево в бинарное дерево поиска
Всем привет, я создал идельное бинарное дерево и написал к нему функции. Как мне теперь можно...

Является ли бинарное дерево строгим бинарным деревом
Определить является ли бинарное дерево строгим бинарным деревом, т.е. таким, в котором узел, не...

Cоставить бинарное дерево поиска как по азбуке Морзе
Всем привет, тут есть люди которые хорошо разбираются с бинарными деревьями?:))) Добавлено через...

Проверка, является ли дерево - Деревом Поиска
Функция выполняет проверку на то, является ли дерево - деревом поиска. При правильно построенном...


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

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