Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Вопрс по высоте дерева?


Автор: Killer_13 22.5.2011, 18:46
Здравствуйте.
Возник вот такой вопрос. Ищем высоту дерева. Но никак не могу понять почему , когда при возврате максимального элемента нужно прибавлять единичку. Если мы это не делаем, то в итоге у нас высота получается "0". Вот код для поиска высоты дерева. Тоисть вот код с которым мы работаем.

Код

public static int hoehe(Baum b) {
        int hoehe = 0;
        if (b.empty())
            return hoehe;
        else
            return 1 + Math.max(hoehe(b.left()), hoehe(b.right()));

Автор: Silent 22.5.2011, 21:35
потому что это рекурсия - функция последнего уровня возвращает 0 (передает предпоследнему уровню), предпоследний уровень прибавляет к полученному уровню единичку и передает выше. в итоге к концу и набирается ответ.

Автор: Killer_13 22.5.2011, 21:39
Пасиб, все понятно. smile Вопрос решен.

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