![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Vandrouny |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
Доброго времени суток!
Пишу вот лабу про деревья. Суть её такова: построить дерево и реализовать прямой его обход (там ещё обратный и симметричный, но пока хоть бы прямой). Но не простой обход, а полный: показать, какие вершины последовательно анализируются. Т.е., если в дерево вогнать последовательно 8,6,4,1,2,3,15,11,13,9,5 - он вывел 8-6-4-1-0-1-2-0-2-3-0-3-0-3-2-1-4-5-0-5... (0 - значит, пустой лист найден) Суть проблемы: когда надо возвращаться, моя программа не отображает этого. Т.е, при этом дереве она пропускает символы: 8-6-4-1-0-1-2-0-2-3-0-3-0-4-5-0-5... (нету этого возврата 3-2-1) Помогите, пожалуйста!
Сообщение отредактировано: Vandrouny - 14.05.2009 19:24 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата когда надо возвращаться, моя программа не отображает этого Ты ж не просишь ,вот и не отображает... Я вот так попросил:procedure direct(var s: adrzv); |
Vandrouny |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо, помогло!
Двигаюсь дальше, возникла ещё одна проблема: в обратном обходе непонятно, как правильно реализовать пометку плюсом элемента, который обрабатывается (т.е. если он просто проходится - без плюса, а если обрабатывается - с плюсом). Procedure back(var s:adrzv); Добавлено через 15 мин. Ой, всё отменяется, я дурень несусветный))) В процедуре back использую рекурсивно процедуру direct) |
Vandrouny |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
А вот на последнем пункте задания совсем что-то заступорился...
Надо сделать симметричную правую прошивку дерева. Как сделать - не представляю... Помогите, пожалуйста... |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
В присоединенном документе приведен псевдокод прошивки дерева...
Прикрепленные файлы ![]() |
Vandrouny |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
По-русски... Не встречал. Разве что "Кнут, Дональд: Искусство программирования. Том 1 - Основные алгоритмы." открываешь на стр. 353 (раздел 2.3.1) и смотришь, там есть информация по прошитым деревьям.
|
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 23:06 |