С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
JJShin
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 2
#1

Бинарное дерево - C++

11.01.2014, 14:14. Просмотров 674. Ответов 1
Метки нет (Все метки)

дано целочисленнное бинарное дерево. найти:
а)количество вершин дереваж
б)значение самой левой вершины в правом поддереве
в) максимальное и минимальное значение вершин дерева
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 14:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Бинарное дерево (C++):

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

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой - C++
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

Бинарное дерево - C++
Помогите, пожалуйста. Осталась последняя задача в контрольной. Не знаю даже, как к ней подступиться. К проекту ПРИМЕР Btree ...

Бинарное дерево - C++
Народ помогите. На С++ нада написать программу бинарного дерева Требования: 1. В программе должен быть шаблонный класс (template...

Бинарное дерево - C++
Как организовать вывод бинарного дерева?

Бинарное дерево - C++
Помогите пожалуйста с программой. Нужно сделать обход, слева и справа(функции get_left и get_right), желательно обход в глубину. И...

1
__General__
24 / 24 / 3
Регистрация: 04.01.2014
Сообщений: 91
Завершенные тесты: 2
11.01.2014, 17:01 #2
а) тут можно либо рекурсией просмотреть все вершины дерева, либо с помощью очереди.
б) если есть:
C++
1
2
3
4
5
6
struct node
{
    int key;
    node *left;
    node *right;
}
- узел дерева,
а node *root - указатель на корень дерева,

то:
C++
1
2
3
4
5
node *cur_root = root->right;
while (cur_root->left || cur_root->right) { //пока cur_root - не лист(т. е. пока у cur_root есть хотя бы один потомок).
    cur_root = cur_root->left;
}
return cur_root->key;
Добавлено через 3 минуты
в) для минимальной вершины (для максимальной - аналогично).

C++
1
2
3
4
5
node *cur_root = root;
while (cur_root->left || cur_root->right) { //пока cur_root - не лист(т. е. пока у cur_root есть хотя бы один потомок).
    cur_root = cur_root->left;
}
return cur_root->key;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2014, 17:01
Привет! Вот еще темы с ответами:

Бинарное дерево - C++
Здравствуйте.Прошу помощи.Никак не могу разобраться в задании.Нужно сделать бинарное дерево и с помощью дерева привести выражение к...

Бинарное дерево - C++
Мой код: Patient.h // // Created by User on 26.04.2016. // #ifndef LABA_10_PATIENT_H #define LABA_10_PATIENT_H using...

Дерево бинарное - C++
Интересует вопрос, при добавлении нового элемента куда я его должен буду помещать, на какую ветку. Допустим есть дерево с корнем 5 и...

Бинарное дерево - C++
Здравствуйте.Прошу помощи.Никак не могу разобраться в задании.Нужно сделать бинарное дерево и с помощью дерева привести выражение к...


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

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

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