Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gameon
Сообщений: n/a
#1

Иерархическое дерево. Начало пути - C++

10.03.2013, 10:43. Просмотров 324. Ответов 1
Метки нет (Все метки)

Здравствуйте!!! Я перерыл много учебников и форумов и везде пишут о бинарных деревьях. В них я более менее разобрался, а вот как создать дерево, в котором может быть более 2 сыновей. У меня задание: написать программу, определяющую является ли узел i предком узла j. Программа у пользователя запрашивает узлы дерева в порядке прямого обхода.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2013, 10:43     Иерархическое дерево. Начало пути
Посмотрите здесь:

самое начало C++ C++
C++ Начало
C++ Начало Си++
C++ Начало пути
Начало профессионального пути C++
Графика. Начало C++
C++ Бинарное поисковое дерево. Максимальные пути
C++ Самое начало
Начало пути прогера C++
C++ Начало
C++ Начало изучения С++
C++ Начало изучения С++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
14.03.2013, 14:06     Иерархическое дерево. Начало пути #2
Цитата Сообщение от gameon Посмотреть сообщение
а вот как создать дерево, в котором может быть более 2 сыновей
Хранить не пару указателей на сыновей, а массив оных. Плюс для данной задачи не помешает хранить в узле также указатель на родительский узел. Тогда алгоритм определения такой. Идём из узла j (предполагаем, что его позиция известна) вверх по иерархии (через упомянутый мной указатель на родительский узел) и сравниваем узел, в котором оказались, с узлом i. Если совпали - говорим "является". Если таким макаром пришли в корень, и он не совпадает с узлом i - говорим "не является".
Только вот в вашем задании ничего не говорится о том, что должно быть более двух сыновей. Алгоритм подходит и для бинарного дерева, и для дерева с произвольным количеством потомков. Главное - иметь указатель на родителя в узле.
Yandex
Объявления
14.03.2013, 14:06     Иерархическое дерево. Начало пути
Ответ Создать тему
Опции темы

Текущее время: 21:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru