1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
| Олег |
4.06.2007 19:42
Сообщение
#1
|
|
Гость |
Задание - рекурсивно определить высоту бинарного дерева.
Ковырялся-ковырялся, не осилил. Ни в faq, ни в интернете регения не нашел. Есть идеи ,как решать? Заранее благодарен. |
| volvo |
4.06.2007 19:48
Сообщение
#2
|
|
Гость |
Что значит "не нашел"? Вот тут: балансировка деревьев
функция Height по-твоему что вычисляет, как не высоту переданного ей узла? Передавай Root - получишь высоту дерева. |
| Гость |
4.06.2007 19:54
Сообщение
#3
|
|
Гость |
Спасибо. Но где там используется рекурсия?
|
| volvo |
4.06.2007 20:05
Сообщение
#4
|
|
Гость |
При вычислении rightHeight и leftHeight производится рекурсивный вызов функции Height ...
|
| Гость |
4.06.2007 20:10
Сообщение
#5
|
|
Гость |
Благодарю. Тему можно закрывать.
|
| Alex1988 |
5.06.2007 20:28
Сообщение
#6
|
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Помогите написать процедуру, которая высчитывает значение листа двоичного дерева, имеющего наименьшую глубину(листа).
|
| volvo |
5.06.2007 21:22
Сообщение
#7
|
|
Гость |
Посмотри здесь: Обход дерева , как реализован обход дерева "по уровням". Тебе останется только убрать печать значений, и добавить условие (узел является листом), при достижении которого надо выйти из процедуры...
|
| Alex1988 |
8.06.2007 20:31
Сообщение
#8
|
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
procedure CountFunc(dub:ptr; h:integer); а вот такая подойдет? |
| volvo |
8.06.2007 20:44
Сообщение
#9
|
|
Гость |
Не знаю... Что у тебя такое IsTerminal, что minH - мне неизвестно...
|
| Alex1988 |
8.06.2007 20:46
Сообщение
#10
|
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
|
| volvo |
8.06.2007 21:18
Сообщение
#11
|
|
Гость |
Да, так тоже можно... Только в minH изначально должно храниться большое значение (если этой переменной присвоить в начале 0, то процедура не даст ожидаемого результата).
Сообщение отредактировано: volvo - 8.06.2007 21:18 |
![]() ![]() |
|
Текстовая версия | 9.12.2025 0:40 |