![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.01.2010
Сообщений: 40
|
![]()
Имея прямой и обратный порядок востановить структуру дерева:
имеется дерево его прямой обход записывается так: ABCDEFGHIJK (это string-овая строка 1) А обратный так: CEDBAHGJKIF (это string-овая строка 2) Нужна воссоздать дерево по этим обходам.... Суть я понял, а вот как реализовать, ума не приложу! Суть: Алгоритм востановления рекурсивный. Он состоит в том,что в строке 2 на основе анализа строки 1 (которая просматривается слева направо) выаявляем корень дерева(в нашем случае это А) после чего строка распадается на 2е подстроки. AL и AR(т.е левое и правое поддерево) которые в свою очередь так же представляют собой обратный обход отдельных строк. Сначала будет обрабатываться AL потом AR. P.S пустые поддеоевья заменяются * В итоге на экране должно выводится следующее ((*C*)B((*E*)D*))A((*H*)G((*J*)I(*K *))F*) |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 17.01.2010
Сообщений: 40
|
![]()
Никто не знает как это реализовать?
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
бинарные деревья | studentOne | Помощь студентам | 2 | 10.10.2009 16:45 |
бинарные деревья в c++ | eLegAM | Помощь студентам | 0 | 21.06.2009 22:12 |
Бинарные деревья | Aleks_90 | Помощь студентам | 0 | 07.06.2009 15:06 |
Бинарные файлы | VorobeY1326 | Общие вопросы C/C++ | 12 | 09.05.2009 21:00 |
бинарные деревья. | ribka | Помощь студентам | 2 | 30.11.2007 18:13 |