Это вопрос к домашней работе? Мой ответ предполагает, что это для домашней работы.
Деревья представляют собой рекурсивную структуру данных, поэтому алгоритмы, работающие с ними, часто будут рекурсивными. Рекурсивным алгоритмам нужен базовый случай и индуктивный случай. Для деревьев базовый случай будет тем, что вы делаете, когда вы посещаете листовой узел (то есть узел без дочерних узлов). Индуктивный случай будет тем, что вы делаете, когда вы посещаете внутренний узел (то есть узел с хотя бы одним дочерним узлом).
Для расчета глубины (или «высоты» дерева):
- Базовый случай: какова глубина узла без дочерних элементов?
- Индуктивный случай: учитывая, что у вас есть глубина всех ваших детей (которые могут быть разными), какова глубина текущего узла, который вы посещаете?
Для расчета количества потомков:
- Базовый случай: сколько потомков у узла без детей?
- Индуктивный случай: учитывая, что вы знаете количество потомков всех ваших детей, каково количество потомков текущего узла, который вы посещаете?
Я призываю вас задать уточняющие вопросы.