Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Раскраска графа 
:(
    Опции темы
afanp
Дата 17.12.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 25.11.2008

Репутация: нет
Всего: нет



Собираюсь раскрасить граф, прибегнув к алгоритму Брона - Кербоша : 
1) Выделяем максимально независимое множество вершина графа S
2) Раскрашиваем это подмножество в цвет 1
3) Возвращаемся к шагу 1 и выполняем операции для G/S
Кто может поделиться информацией о алгоритме Брона - Кербоша ? Помимо Кристофидиса не нашёл ничего 
PM MAIL   Вверх
afanp
Дата 18.12.2009, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 25.11.2008

Репутация: нет
Всего: нет



Код

 private void BronKebroshStep(List<int> UsedSet, List<int> NotUsedSet, List<int> IndependentSet)
        {
            while (NotUsedSet.Count != 0 || IndependentSet.Count != 0)
            {
                List<int> NewNotUsedSet = new List<int>(NotUsedSet);
                List<int> NewUsedSet = new List<int>(UsedSet);
                if (NotUsedSet.Count != 0)
                {
                    int peak = NotUsedSet.First();
                    Push(NewNotUsedSet, NewUsedSet, peak, IndependentSet);
                    BronKebroshStep(NewUsedSet, NewNotUsedSet, IndependentSet);
                }
                else
                {
                    if (UsedSet.Count == 0) { print(IndependentSet); }
                    int v = IndependentSet.Last();
                    IndependentSet.Remove(v);
                    UsedSet.Add(v);
                    NotUsedSet.Remove(v);
                }
            }        
        }
Вот сам код, не получается правильно построить рекурсию :(
Возникают вопросы именно в описании алгоритма, не все до конца получается. Буду рад любой помощи

Это сообщение отредактировал(а) afanp - 18.12.2009, 14:11
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0833 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.