eolymp
bolt
Try our new interface for solving problems
Məsələlər

Минимум и Максимум на дереве

Минимум и Максимум на дереве

Задан массив целых чисел. Создайте из них Бинарное Дерево Поиска. Если вставляемое значение равно текущей вершине, то его следует вставлять в правое поддерево.

Реализуйте методы Min и Max которые находят минимальный и максимальный элемент в дереве.

prb7463.gif

Напишите код согласно следующего интерфейса:

class TreeNode

{

public:

int val;

TreeNode *left;

TreeNode *right;

TreeNode(int x) : val(x), left(NULL), right(NULL) {}

};

class Tree

{

public:

TreeNode *head;

Tree() : head(NULL) {};

void Insert(int val); // Вставка числа val в Бинарное Дерево Поиска

int Min(void); // Вернуть минимум в дереве

int Max(void); // Вернуть максимум в дереве

};

Вы можете создавать (использовать) по необходимости дополнительные методы.

Входные данные

Первая строка содержит число n (1n100). Вторая строка содержит n целых чисел.

Выходные данные

Создайте Бинарное Дерево Поиска из входных данных. Выведите в одной строке Минимальный и Максимальный элемент в дереве.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 122.17 MiB
Giriş verilənləri #1
6
14 9 1 14 20 13
Çıxış verilənləri #1
1 20
Müəllif Михаил Медведев
Mənbə Язык С++