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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
jhendrix
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 184
#1

Произвольное дерево - C++

29.08.2010, 02:00. Просмотров 1852. Ответов 4
Метки нет (Все метки)

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

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

Дано дерево. Распечатать дерево по уровням - C++
Дано дерево. Распечатать дерево по уровням.

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

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

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

Произвольное вращение графики - C++
Извиняюсь за повтор, но не знает ли многоуважаемый all, как повернуть в hDC (а лучше в hWnd) битмап? В MSDN есть пример с...

4
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
30.08.2010, 00:44 #2
Цитата Сообщение от jhendrix Посмотреть сообщение
здравствуйте.
какие есть хорошие статьи по теме: произвольное дерево ?
и чем отличается реализация произвольного от бинарного дерева ?
И Вам доброго времени суток,
сразу ко второму вопросу.
Под произвольным деревом, имеется ввиду дерево общего вида (то есть у вершины неограниченное число потомков)???
Допустим, для организации обычного бинарного дерева мы использовали следующую конструкцию:
C++
1
2
3
4
5
6
struct nodes
{
    SOME TYPE data;
    nodes *left;
    nodes *right;
};
тогда, в простейшем случае, мы имели некий указатель на корень дерева. Указатели left и right хранили адреса левого и правого потомка соответсвенно. Каждый потомок хранил указатели на своих потомков (либо потомка и NULL), и так далее пока оба указателя не принимают значение NULL (листовая вершина или лист).

Для организации произвольного дерева опять же будет некий указатель на корень. Указатель left хранит адрес левого потомка, а вот указатель right хранит адрес правой сестры. У корня, естественно, сестры нет, но у потомка корня может быть. Нетрудно увидеть, что вобще говоря потомки одного родителя организуются в однонаправленный связный список.
1
jhendrix
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 184
30.08.2010, 08:25  [ТС] #3
хорошо, но у меня только один вопрос.
допустим произвольное дерево вот такое:

A
/ \
B C
/ \ \
D E F

тогда в этом примере узел F пропадает согласно определению ?
0
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
30.08.2010, 13:59 #4
Цитата Сообщение от jhendrix Посмотреть сообщение
хорошо, но у меня только один вопрос.
допустим произвольное дерево вот такое:

A
/ \
B C
/ \ \
D E F

тогда в этом примере узел F пропадает согласно определению ?
C++
1
2
3
4
5
6
7
                A -- NULL
              /
             B---------------------------------C ------- NULL
           /                                  /
          D---E--NULL                       F----NULL
        /     /                            /
      NULL   NULL                         NULL
не происходит деления на левого/правого потомка, есть просто потомок (ну или первый потомок, второй потомок, третий потомок и т.д.)
0
jhendrix
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 184
30.08.2010, 14:58  [ТС] #5
Ок. Понял.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2010, 14:58
Привет! Вот еще темы с ответами:

Произвольное изменение значения на 0.000001 - C++
Совсем новичок в C++. Откуда появляются эти 0.000001 и как от этого избавиться? Да, я не прописал условия для функции (например,...

Перемещение информации в файле в произвольное место - C++
Допустим, есть файл, в котором лежит следующее: а1 c3 d4 b2 Как переставить b2 на второе место без выгрузки информации в...

Итератор, вставка в произвольное место списка - C++
Здравствуйте. Подскажите как вставить значение в произвольное место списка используя итератор. Эта функция должна выглядеть так: ...

Произвольное количество вложенных циклов + рекурсия - C++
Привет. Нужен код с++, который позволит вывести все комбинации цифр от 1 до k в n-значном числе: допустим, ввод n=2, k=3, вывод: ...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
30.08.2010, 14:58
Ответ Создать тему
Опции темы

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