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

Найти наибольшую клику в заданном орграфе, используя алгоритм нахождения независимых множеств - C (СИ)

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как получить описание типа файла по его расширению http://www.cyberforum.ru/c-beginners/thread514477.html
Подскажите пожалуйста какие есть функции (например WINAPI) с помощью которых можно получить описание типа файла (т.е. описание которое дает программа с которой файл ассоциирован в системе, например *.txt - текстовый документ, и т.д.). Я нашел один способ - данные из реестра. Но вот только строка с описанием типа файла на английском языке. И почему-то не удается получить описание *.xml файла...
C++ Borland c++ 3.1 на Windows7 64-bit через DosBox программа выводит на экран всякие линии, кружочки и т.п одним словом графику. у меня W7 64битка, запускаю через Borland c++ 3.1 с помощью DosBox. сначала все работало хорошо, компилировало, запускало на ура. сейчас компилировать компилируется, но не запускается. выводит вот такой бред: http://www.cyberforum.ru/c-beginners/thread514453.html
C++ помогите отличить разыменование от указателя
люди помогите отличить разыменование от указателя.дайте ссылку ,книгу хот что угодно.я читал много книг но ни в одном не нашел чтоб там было и разыменование и указатель.у всех один ест а другой нету(
C++ Даны два неотрицательных числа a и b. Найти их среднее геометрическое...
Даны два неотрицательных числа a и b. Найти их среднее геометрическое, т. е. квадратный корень из их произведения: (a·b)1/2
C++ Теория вероятности http://www.cyberforum.ru/c-beginners/thread514407.html
Для участия в судебном процессе из 20 потенциальных кандидатов, среди которых 8 женщин и 12 мужчин, выбирают 6 присяжных заседателей. После отбора в группе осталась только 1 женжина. Имеется ли причина сомневаться в случайности выбора? Что принять за событие? Каков будет благоприятный исход?
C++ Дан текст и некоторые два слова. Определить, сколько раз они входят в текст и... Дан текст и некоторые два слова. Определить, сколько раз они входят в текст и сколько раз они располагаются непосредственно друг за другом. подробнее

Показать сообщение отдельно
Betokuha
 Аватар для Betokuha
32 / 29 / 9
Регистрация: 05.03.2012
Сообщений: 114

Найти наибольшую клику в заданном орграфе, используя алгоритм нахождения независимых множеств - C (СИ)

08.03.2012, 16:25. Просмотров 2088. Ответов 5
Метки (Все метки)

Помогите написать программу в С. Найти наибольшую клику в заданном орграфе, используя алгоритм нахождения независимых множеств

Сам метод: Клика

Антиподом понятия независимого множества является понятие клики.
Подмножество U вершин графа G называется кликой, если любые две входящие в него вершины смежны, т.е. если порожденный подграф G(U) является полным.
Клика называется максимальной, если она не содержится в клике с большим числом вершин, и наибольшей, если число вершин в ней наибольшее среди всех клик.
Число вершин в наибольшей клике графа G называется его плот-ностью (или кликовым числом) и обозначается через (G). Как и в случае независимых множеств, максимальная клика графа может оказаться не наибольшей.
Понятие клики, в частности максимальной клики, используется в различных социологических теориях ( вопросы, связанные с голосованием, альянсами и т.п.), а также в теории игр.
Очевидно следующее утверждение: подмножество вершин графа G является кликой тогда и только тогда, когда оно является независимым множеством в дополнительном графе G*.



Вот то, что я начал писать:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <conio.h>
 
#define M 120
 
int n, g[M][M], f[M][M];
int main()
{
    printf("Vvedite n= %d", n);
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            printf("%d", g[i][j]);
 
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            scanf("%d", &g[i][j]);
 
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            if (g[i][j] == 0)
                g[i][j] = 1;
            else
                g[i][j] = 0;
 
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            printf(" %d \n", g[i][j]);
 
    getch();
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru