Skip to content

KriFinnSher/Graph_lr1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Бинарное дерево

Описание

Данная программа реализует бинарное дерево и позволяет находить поддеревья с максимальным и минимальным соотношением высоты к числу листьев. Программа предоставляет два метода создания дерева: произвольное заполнение узлов и построение по заданному шаблону.

Основные функции

void add_node(int val, Node*& node)

Описание: Добавляет узел с заданным значением в бинарное дерево произвольным образом.

int tree_height(Node*& root)

Описание: Вычисляет высоту дерева, корнем которого является переданный в функцию указатель на узел.

int leaves_count(Node*& root)

Описание: Подсчитывает количество листьев в дереве, корнем которого является переданный в функцию указатель на узел.

std::pair<double, double> max_min_ratios(Node*& root)

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

void clear_tree(Node*& root)

Описание: Освобождает память, выделенную под узлы дерева.

std::pair<Node*, Node*> find_max_min_ratio_nodes(Node*& root, double max_ratio, double min_ratio)

Описание: Находит узлы поддеревьев с максимальным и минимальным соотношением высоты к числу листьев.

void print_tree(const std::string& prefix, Node*& node, bool isLeft)

Описание: Выводит дерево в консоль, корнем которого является переданный в функцию указатель на узел. image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages