0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 49
1

В заданном двоичном дереве подсчитайте число элементов в 2 раза больших минимального элемента

24.04.2018, 17:52. Показов 958. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В заданном двоичном дереве подсчитайте число элементов в 2 раза больших минимального элемента.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2018, 17:52
Ответы с готовыми решениями:

Подсчитать число узлов в заданном двоичном дереве
Помогите пожалуйсто с программой.Подсчитать число узлов в заданном двоичном дереве.

Подсчитайте сумму элементов массива, находящихся после минимального элемента
Здравствуйте. помогите пожалуйста с задачей на одномерный массив: Элементы одномерного массива C...

Подсчитайте сумму элементов массива, находящихся после минимального элемента
Помогите решить пожалуйста: Элементы одномерного массива С(I) получаются расчетом по формуле С(I)...

Подсчитайте среднее арифметическое элементов массива, стоящих до минимального элемента
1)В одномерном массиве А(I), элементы которого подсчитываются по формуле A(I) = 5,4tg(I)/I...

2
5077 / 2649 / 2349
Регистрация: 10.12.2014
Сообщений: 10,024
25.04.2018, 06:35 2
Лучший ответ Сообщение было отмечено vitalionchik как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
type
  tTree = class
    N : Integer;
    L, R : tTree;
  end;
  
function minInTree(Tree : tTree) : Integer := Tree.L = nil ? N : minInTree(Tree.L);
 
function moreVal(Tree : tTree; val : Integer) : Integer := (N > val ? 1 : 0) + (L <> nil ? moreVal(Tree.L, val) : 0) + (R <> nil ? moreVal(Tree.R, val) : 0);
 
function find2moreMin(Tree : tTree) := moreVal(Tree, minInTree(Tree) * 2);
Функция find2moreMin(root) вернёт нужный результат.

P.S. Двоичное дерево обычно заполняется так, что его минимум находится в самой нижней левой ветке.

P.P.S. Обход дерева можно сократить:
Pascal
9
function moreVal(Tree : tTree; val : Integer) : Integer := (N > val ? 1 + (L <> nil ? moreVal(Tree.L, val) : 0)  : 0) + (R <> nil ? moreVal(Tree.R, val) : 0);
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,428
Записей в блоге: 8
25.04.2018, 12:09 3
Цитата Сообщение от JuriiMW Посмотреть сообщение
Двоичное дерево обычно заполняется так, что его минимум находится в самой нижней левой ветке.
Ничего подобного. Это двоичное дерево поиска так заполняется. А двоичное дерево в общем виде - неупорядочено.

А если это двоичное дерево поиска - то достаточно найти первый элемент, в два раза больший, чем минимум и пройти по его правым потомкам, пока значение узла не изменится.
0
25.04.2018, 12:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2018, 12:09
Помогаю со студенческими работами здесь

Замените в заданном двоичном дереве все отрицательные элементы их абсолютными величинами
Замените в заданном двоичном дереве все отрицательные элементы их абсолютными величинами

Найти номер первого минимального элемента среди элементов, больших Т1
задали такую задачку: &quot;Задан целочисленный одномерный массив A из N элементов. Найти номер...

Найти количество элементов массива, больших удвоенного минимального элемента
Элементы массива – действительные числа в пределах от 2 до 12. Найти количество элементов массива,...

Поиск минимального нечетного элемента в заданном целочисленном массиве из 50 элементов
Уважаемые форумчане! Для вас не будет сложным решить 4 простейшие программки (они действительно...

Подсчитайте число положительных элементов массива и занесите его в массив вместо первого элемента
Возникли проблема с данной программой, прошу мне помочь Подсчитайте число положительных...

В заданном массиве найти среднее арифметическое элементов, расположенных до минимального элемента
23. В одномерном массиве А(10) вычислить среднее арифметическое элементов, расположенных до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru