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

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

Войти
Регистрация
Восстановить пароль
 
html-profi
5 / 5 / 0
Регистрация: 25.11.2011
Сообщений: 53
#1

Алгоритм для деревьев - C++

12.04.2012, 21:45. Просмотров 898. Ответов 0
Метки нет (Все метки)

Всем привет!
Препод дал задание написать программу, которая бы находила максимальное независимое множество в дереве(т.е. дано дерево, надо найти максимальное множество вершин, никакие две из которых не связаны ребром)
Нашел на псевдокод
function get_independent_set(Node u)
{
если I(u) уже посчитано, то возвратить I(u)
//мощность множества, которое можно получить, если не брать вершину u
children_sum = 0
//мощность множества, которое можно получить, если взять вершину u
grandchildren_sum = 0
//цикл по всем детям
for i := 1 to child_num do
children_sum = children_sum + get_independent_set(children[i])
//цикл по всем внукам
for i:= 1 to grandchildren_num
grandchildren_sum = grandchildren_sum + get_independent_set(grandchildren[i])
//запоминаем, чтобы не персчитывать ещё раз
I(u) = max(1 + grandchildren_sum, children_sum)
возвратить I(u)
}

но ничего не пойму. Помогите плиз.
Буду благодарен за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2012, 21:45     Алгоритм для деревьев
Посмотрите здесь:

Создать функции ввода/вывод для бинарных деревьев - C++
Не могу создать функции ввода/вывод для бинаных деревьев. очень срочно нужно! скажите где ошибка... Вот текст: #include ...

Реализация деревьев - C++
Я вот сделал простое дерево (максимально дочерних узлов в корне - 3). Теперь нужно доработать, чтобы были списки сыновей. Помогите...

Турнирная сортировка деревьев - C++
Здравствуйте, программа турнирная сортировка деревьев. Но проблема в том, что при компиляции выдает ошибку. Помогите, пожалуйста ...

Объединение 2-х бинарных деревьев в одно - C++
Необходима функция объединения 2-х бинарных сбалансированных деревьев в одно.

Класс бинарных деревьев. Наследование - C++
Доброго времени суток! Имеется задание написать абстрактный класс бинарного дерева и класс рациональных чисел. От них отнаследовать классы...

Контейнеры STL и виды деревьев - C++
подскажите, или покажите где есть эта информация например я знаю, что контейнеры map и set реализованы через красно-черное дерево через...

Итеративная функция сравнения деревьев - C++
Задание такое: Рекурсивно и итеративно описать логическую функцию, проверяющую на равенство деревья Т1 и Т2. Рекурсивная функция есть,...

Есть у кого исходники 2-3-4 деревьев? - C++
или может ссылку на код, а то нигде нет! Добавлено через 21 час 18 минут никто не знает что это?

Определить, сколько посажено деревьев - C++
Учащиеся 8-х классов участвовали в посадке деревьев. 8-а посадил 100 деревьев, 8-б —122 дерева, 8-в — 98 деревьев, 8-г — 104 дерева, 8-д —...

Сравнить структуру двух деревьев - C++
Написать два варианта функции(с рекурсией и без). Даны два дерева,два указателя на корни. Функция возвращает логическое значение:если...

Вычисление глубины деревьев(нужна подсказка) - C++
Есть вот такая процедура template <class T> void Depth (TreeNode<T> *t) { int depthLeft, depthRight, depthval; if (t ==...

Построение всех остовных деревьев графа - C++
Теоремой кирхгофа написать программу для определения числа остовных деревьев графа и построить их Помогите пожалуйста!


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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