Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Сбалансированное бинарное дерево


Автор: 1101s 18.10.2018, 23:49
Здравствуйте, стоит задача вывести на печать значения узлов бинарного дерева. Дана глубина дерева (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 в нужном порядке, так как по сути я иду от середины.
Подскажите, пожалуйста.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)