Четвёртая домашняя работа блока спецификации

Написать спецификации, отражающие данные требования.

Дана структура

typedef struct Node {
    int value;
    int childrenCount;
    struct Node *children;
} Node;

Структура описывает вершину дерева (без кратных рёбер). Как следствие, заданная вершина определяет дерево, корнем которого оно является.

Поле value является неотрицательным значением, хранящимся в вершине. Дети текущей вершины хранятся в массиве children, имеющий размер childrenCount. Массив не содержит лишних элементов.

Имеются две функции:
int maxDepth(Node *root);
int sumLeafs(Node *root);

Первая функция возвращает максимальную глубину переданного дерева (расстояние от корня до самого глубокого листа; глубина простейшего дерева считается единичной). Вторая функция возвращает сумму значений, хранящихся в листовых вершинах переданного дерева.

Если у функций не получилось вычислить значение, они возвращают отрицательное значение.

Работа функций не должна приводить к утечкам памяти.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.