UniLecs #Task. Maximum Depth of Binary Tree

Albert Davletov
UniLecs
Published in
1 min readMar 23, 2020

--

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

Справка: максимальная глубина — это количество узлов вдоль самого длинного пути от корневого узла до самого дальнего конечного узла.

Входные данные: бинарное дерево

Вывод: максимальная глубина исходного дерева.

Пример:

Разбор

Очень часто при решении задач на деревья используется рекурсия. В данном случае мы также ее воспользуемся для расчета максимальной высоты:

  1. Рекурсивно считаем высоту левого под-дерева от корня.
  2. Рекурсивно считаем высоту правого под-дерева от корня.
  3. Выбираем максимальную высоту между правым и левым поддеревом и добавляем к ней 1 (учитываем сам корневой узел).

Реализация

C#

https://gist.github.com/unilecs/883b8a0485821eb7aeacf3d54450ab17

Play-test

https://dotnetfiddle.net/ozWHyW

--

--