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

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

Войти
Регистрация
Восстановить пароль
 
Mike_J
0 / 0 / 0
Регистрация: 09.02.2010
Сообщений: 3
#1

Деревья - C++

09.02.2010, 17:13. Просмотров 1033. Ответов 7
Метки нет (Все метки)

Ребята!очень нужна помощь!Никак не могу догнать как решить задачки:

1) Определить какие поддеревья являются пирамидами
2) Найти поддерево, не включающее ни одной из заданной вершин
3) Найти поддеревья,структура которых совпадает с заданной...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2010, 17:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Деревья (C++):

Деревья. - C++
Условие Найти и удалить (правым удалением), если существует, среднюю по значению из вершин дерева, у которых количество потомков в левом...

Деревья - C++
Написать программу, которая вводит с клавиатуры сбалансированное дерево и считает сумму элементов дерева.

деревья на С++ - C++
эта задачка на деревья.помогите пожалуйста...от этого зависит мой экзамен... В школе продолжительность каждого урока 45 минут, а перемены...

деревья - C++
Доброго дня всем. Подскажите плиз что не правильно, пытаюсь разобраться в деревьях и шаблонах. Есть 2 класса лист и дерево, по...

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

Деревья - C++
Создать процедуру построения бинарного дерева на основе не бинарного. Заранее спасибо.

7
JKeeJ1e30
12 / 12 / 0
Регистрация: 04.02.2010
Сообщений: 45
09.02.2010, 17:40 #2
2) очень просто. берешь корень, его детей, относительно каждого из детей смотришь сколько у каждого из детей ненужных вершин. Если у какого-то ребенка этих вершин меньше, чем у этого ребенка его детей(ну то есть по отношению к первой вершине-внуков)-значит, будет такой внук у которого в след поколениях не будет ненужных вершин. Если такого ребенка нет-идешь по внукам и то же самое. Операций-не больше n^3(n-колво вершин)
3) опять же идешь сверху вниз и в один массив помечаешь на каком уровне располагается вершина, в другой-количество ее детей, и в третий-самих детей пишешь. Потом считаешь сколько уровней должно быть в поддереве, ну и дальше-дело техники-найти на нужном уровне такую вершину, которая будет корнем такого поддерева. Тут если не ошибаюсь можно и за n^2
1
Mike_J
0 / 0 / 0
Регистрация: 09.02.2010
Сообщений: 3
09.02.2010, 17:52  [ТС] #3
всё равно не очень понимаю,эта тема - глухой лес длоя меня...Ты не мог бы привести листинг?Если,конечно,не трудно...Заранее премного благодарен!
0
JKeeJ1e30
12 / 12 / 0
Регистрация: 04.02.2010
Сообщений: 45
09.02.2010, 18:29 #4
Короче
1) Что отличает дерево от обычного графа:
дерево всегда можно нарисовать так, чтобы была ветвящаяся структура(отсюда и название) которая исходит ровно из одной вершины(представь палки, воткнутые в одну точку. Это будет простейшим деревом, у которой все вершины будут "сыновьями" этой точки(вершинами будут концы палок). Теперь на вершины этих палок насади другие, это уже будет более сложная структура, но так же называющаяся деревом. Помни просто что каждый конец палок-это вершина. Вкурил?). Дальше буду обьяснять именно на примере простой структуры.
2) корень(или отец, или старший предок)-это та вершина дерева, с которой вся структура начинается(собственно, та точка в земле, в которой все палки зарыты).
3) сыновья-для отца(для точки, из которой торчат все палки)-это, собственно, все остальные вершины.

Че еще непонятно?

Добавлено через 4 минуты
а да забыл. Уровень вершины-это сколько вершин нужно пройти от отца до данной вершины. Для простейшего дерева(все, кроме отца, являются сыновьями) для всех вершин(кроме, разумеется, отца) уровень равен еденице
1
Mike_J
0 / 0 / 0
Регистрация: 09.02.2010
Сообщений: 3
09.02.2010, 18:30  [ТС] #5
спасибо!Попробую что-нибудь сотворить
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.02.2010, 07:51 #6
Mike_J, рекурсию юзь.
0
apple1988
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
04.04.2011, 12:46 #7
Объясните, пожалуйста, как хранить деревья...
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
04.04.2011, 16:31 #8
Например, как поле-значение узла и массив указателей на потомков.
0
04.04.2011, 16:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2011, 16:31
Привет! Вот еще темы с ответами:

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

Деревья - C++
нужно переписать программу с C++ на C #include <string> #include <iostream> #include <sstream> #include <cassert> enum...

Деревья - C++
Здравствуйте. Помогите разобраться с деревьями. Можно бинарное, можно не бинарное.

Деревья - C++
Помогите пожалуйста! нужно разработать программу для работы с деревом. В узлах дерева содержатся символы. Дерево должно быть...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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