Написать спецификации, отражающие данные требования.
Дана структура
typedef struct Node {
int value;
int childrenCount;
struct Node *children;
} Node;
Структура описывает вершину дерева (без кратных рёбер). Как следствие, заданная вершина определяет дерево, корнем которого оно является.
Поле value
является неотрицательным значением, хранящимся в вершине. Дети текущей вершины хранятся в массиве children
, имеющий размер childrenCount
. Массив не содержит лишних элементов.
Имеются две функции:
int maxDepth(Node *root);
int sumLeafs(Node *root);
Первая функция возвращает максимальную глубину переданного дерева (расстояние от корня до самого глубокого листа; глубина простейшего дерева считается единичной). Вторая функция возвращает сумму значений, хранящихся в листовых вершинах переданного дерева.
Если у функций не получилось вычислить значение, они возвращают отрицательное значение.
Работа функций не должна приводить к утечкам памяти.