4 / 4 / 2
Регистрация: 02.10.2012
Сообщений: 188
|
||||||
1 | ||||||
Поиск листьев в дереве22.04.2014, 14:51. Показов 7032. Ответов 27
Метки нет (Все метки)
Подскажите пожалуйста. Хочу изменить функцию вывода элементов дерева, так чтобы выводились те элементы которые не имееют детей. Не пойму как сюда вставить условие, на проверку пустого значения элементов.
0
|
22.04.2014, 14:51 | |
Ответы с готовыми решениями:
27
Ошибка в считывание листьев в дереве Количество листьев в бинарном дереве Найти сумму листьев в бинарном дереве поиска Как в бинарном дереве у всех листьев вычесть введенное число? |
4 / 4 / 2
Регистрация: 02.10.2012
Сообщений: 188
|
||||||
24.04.2014, 14:17 [ТС] | 21 | |||||
Kuzia domovenok, В задании было вывести внешние вершины. И к ним преподаватель отнес корень и листья. А не подскажите как мне вывести внутренние вершины без корня?
0
|
4 / 4 / 2
Регистрация: 02.10.2012
Сообщений: 188
|
|
25.04.2014, 15:21 [ТС] | 23 |
Kuzia domovenok, Корень все равно выходит, так как попадает под это условие.
Добавлено через 44 минуты разобрался, вот какое условие сработало (level!=0 && (t->right!=NULL || t->left!=NULL)
0
|
25.04.2014, 15:54 | 24 |
не такое уж и великое открытие. Но я бы всё равно напомнил вашей учительнице информатики, что корень это не внешний узел! http://algolist.manual.ru/ds/btree.php
0
|
4 / 4 / 2
Регистрация: 02.10.2012
Сообщений: 188
|
|
25.04.2014, 20:42 [ТС] | 25 |
Kuzia domovenok, Ну для вас может, но мне не каждый день приходится этим заниматься. Особенно с этой запутанной темой -деревья. Фиг с ней этой училкой, главное сделать все задания и сдать. У меня еще осталось 4 задания по этой программе.
Добавлено через 4 часа 35 минут Kuzia domovenok, Мне нужно в моей программе определить является ли дерево сбалансированным или нет. Если я в своём дереве подсчитаю количество правых и левых детей. Если разница будет больше 1 то дерево не сбалансированное. А если меньше или ровно 1, то сбалансированное. Правильно ли я определю?
0
|
4 / 4 / 2
Регистрация: 02.10.2012
Сообщений: 188
|
||||||
26.04.2014, 20:45 [ТС] | 26 | |||||
Кто нить может подсказать, как мне сделать проверку сбалансированности дерево. Что то мои варианты не работают как надо. Функция у меня называется для этого void PrintBalance(TreeNode *)
1
|
30.04.2014, 14:23 | 27 | |||||
0
|
0 / 0 / 0
Регистрация: 11.01.2015
Сообщений: 14
|
||||||||||||||||
03.01.2016, 13:21 | 28 | |||||||||||||||
Внесу свои 5 копеек?
Функция по замене значений дочек внутренних вершин не рабочая. Сделал так:
Переделал вывод длины самой длинной ветки:
Вопрос сбалансированности дерева. Просмотрев множество источников, я так и не нашёл чёткого ответа с исчерпывающими примерами. Опираясь на этот источник: https://www.niisi.ru/iont/proj... miphi6.php сделал такой свой вывод: Сбалансированное дерево не должно иметь: 1. листья с разницей в уровнях больше 1, 2. одного из четырёх признаков несбалансированности (см. ссылку). Так что вот мой отнюдь не изящный вариант:
0
|
03.01.2016, 13:21 | |
03.01.2016, 13:21 | |
Помогаю со студенческими работами здесь
28
Выводит некоректное число после выполнения программы по считыванию листьев в дереве Если в дереве есть хотя бы один простой элемент, то найти сумму не листьев; иначе увеличить все четные элементы вдвое Поиск в двоичном дереве Поиск в бинарном дереве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |