Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2018, 23:47   #1
1101ь
 
Регистрация: 12.09.2018
Сообщений: 4
По умолчанию Сбалансированное бинарное дерево

Здравствуйте, стоит задача вывести на печать значения узлов бинарного дерева. Дана глубина дерева (n), соответственно размер массива известен (length = ((2^n) -1). В самом массиве дубликатов не будет. Вывести надо в виде:

Node (Node (Child 8) 10 (Child 12)) 15 (Child (Child 16) 20 (Child 25))

если массив в отсортированном виде (8, 10, 12, 15, 16, 25);

То есть мне надо написать рекурсивную функцию вроде:

void printTree(int a[], int start, int end){
if(start>end){
return;
}
int mid = (start+(end-start))/2;
printTree(a, start, mid)

}

Но я понятия не имею как выводить скобки и Node, Child в нужном порядке, так как по сути я иду от середины.
Подскажите, пожалуйста.
Изображения
Тип файла: png BinaryTree3.png (14.8 Кб, 55 просмотров)
1101ь вне форума Ответить с цитированием
Старый 19.10.2018, 09:10   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

любой узел имеет ДВА поддерева
сначала выводим левое поддерево //printTree(a, start, mid)
а потом и правое //printTree(a, mid, end)
т.е. в функции должно быть ДВА "своих" вызова (по числу поддеревьев)
и конечно же с разными параметрами
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сбалансированное дерево с++ timedo Общие вопросы C/C++ 0 20.10.2012 13:53
Идеально-сбалансированное дерево trum Помощь студентам 1 28.05.2012 21:37
Сбалансированное дерево C# alenachitnaeva Помощь студентам 0 23.05.2012 21:37
сбалансированное дерево prostac Помощь студентам 0 21.09.2010 16:29
Идеально сбалансированное дерево Осипович Общие вопросы Delphi 0 16.05.2009 15:54