![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 28.02.2009
Сообщений: 27
|
![]()
Меня интересуют способы обходов бинарного дерева. И их алгоритмы. Я знаю что обход бинарных деревьев проходит рекурсивно. Дело в том что с рекурсией я не дружу...
Напишите пожалуйста обход бинарного дерева для библиотеки BTreeU.dcu лежащей в прикрепленном архиве. Также имеется справка по процедурам и функциям этой библиотеки. Заранее спасибо. З.Ы. Библиотека очень хороша так что берите и пользуйтесь кому она нужна. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
существует 3 варианта обходов:
прямой: procedure obxod(root:tree); begin if root <> nil then begin write(root^.inf); obxod(root^.left); obxod(root^.right); end; end; обратный обход: procedure obxod(root:tree); begin if root <> nil then begin obxod(root^.left); write(root^.inf); obxod(root^.right); end; end; концевой обход: procedure obxod(root:tree); begin if root <> nil then begin obxod(root^.left); obxod(root^.right); write(root^.inf); end; end;
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Бинарное дерево | lubafffka | Общие вопросы C/C++ | 0 | 29.04.2009 12:28 |
Бинарное дерево | g0liath | Помощь студентам | 2 | 16.02.2008 23:54 |