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

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

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

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

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

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

Начало пути - C++
Всем привет! :) Решил изучать и писать на языке C++. Есть не большой опыт программирования(Pascal,Dephi). Сразу возникло куча...

Начало пути прогера - C++
Здравствуйте. Мне 19, перешел на 3 курс по специальности "Компьютерная безопасность". Уже 2 года периодически интересуюсь...

Начало профессионального пути - C++
Тему С++ выбрал из-за большей обширности аудитории. Я- среднестатистический школокодер-первокурсник, обучающийся по направлению...

Бинарное поисковое дерево. Максимальные пути - C++
Помогите пожалуйста! Есть задачка: Найти вершины, через которые проходят пути максимальной длины, и удалить (правым удалением) самую...

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой - C++
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

Исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру - C++
Помогите, не могу понять!( Нужно исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру. вот...

Напишите программу, которая бы читала дерево в формате (а) и затем печатала бы это дерево в формате (б). - C++
Представление дерева: а) Д (Б (А, Ф (В,)), Е (,З (Ж, И))) б) Д Б А Ф ...

Дерево дерево, странное дерево - C++
Нужна помощь в построении дерева. Задание таково: Вершина дерева содержит N целых значений и два указателя на потомков. Запись значений...

Дерево, бинарное дерево - C++
Читаю про дерево и не до конца понимаю, а точнее понимаю, но вопрос в том, правильно ли я понимаю, надеюсь вы мне подскажите. Вот есть...

Начало - C++
Здравствуйте я начинающий IT работник и мне нужна помощь тех кто давно в этой сфере я просто не знаю к кому мне обратиться с этими...


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

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

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