Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразовать дерево в линейный список 
:(
    Опции темы
Alexey91
  Дата 21.12.2011, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 18.9.2008

Репутация: нет
Всего: нет



Здравствуйте!

Есть ли алгоритм преобразования дерева в линейный список. Что я под этим понимаю.

Например, есть дерево

                    1
            2              3
                     4          5
              6        7    8      9

Нужно из него сделать список 1->next=2, 2->next=3, 3->next=4 и.т.д.
т.е. узлы связываются в список последовательно слева направо, опускаясь на уровень вниз с каждым шагом.

Или если не сложно подскажите как это можно реализовать.

Естественно, что можно было бы создавать список изначально по мере добавления узлов в дерева.

Но задача такова, что на вход подается дерево, у которого есть левый и правый дети

например,

struct tree
{
 tree* left_child
 tree* right_child 
 int data
} T;




Это сообщение отредактировал(а) Alexey91 - 21.12.2011, 20:51
PM   Вверх
newbee
Дата 21.12.2011, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 24.8.2011

Репутация: 3
Всего: 19



Это широко используемый алгоритм, называется flatten.


--------------------
You're face to face
With man who sold the world
PM   Вверх
Alexey91
  Дата 22.12.2011, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 18.9.2008

Репутация: нет
Всего: нет



Немного не то, но по ссылке http://rosettacode.org/wiki/Tree_traversal

Смотреть level order

Как раз то, что нужно
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0386 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.