Курсовая работа: Разработка программы нахождения всех полных подграфов (клик) данного графа
void CliquesWindow_Load(object sender, EventArgs e) - обработчик события Load формы. Если public свойство graph не равно null вызывает процедуру поиска клик. В противном случае выводит на экран уведомление об отсутствии в графе клик.
void FindAllCliques(Graph g) - находит все клики в графе g.
Image ScaleImage(Image source, int width, int height) - изменяет масштаб изображения source на width и height. Возвращает полученное изображение.
ShowCliqueMatrix(int[] c) - отображает матрицу вершин c клики.
void SaveClique(int index) - отображает диалог сохранения клики с индексом index в файл.
void CreateReport(string filename) - создает файлы отчета обо всех найденных в графе кликах.
Public свойства
Graph graph - граф, в котором будет производиться поиск клик.
Private свойства
List<List<int>> cliques - список вершин найденных клик.
ImageList imgList - сюда заносятся изображения найденных клик.
Константы класса
int VIEW_IMAGE_WIDTH = 150 - ширина изображения клики.
int VIEW_IMAGE_HEIGHT = 150 - высота изображения клики.
3. Реализация на C#
3.1 Реализация алгоритма Брона-Кербоша
Реализация алгоритма Брона-Кербоша на С# представлена в Листинге 3.1. Представленные на нем функции являются методами класса Graph.
Листинг 3.1 – Реализация алгоритма Брона-Кербоша на С#.
public List<List<int>> FindAllCliques()
{
List<List<int>> output = new List<List<int>>();
//сюда помещаются вершины, образующие клику
List<int> M = new List<int>();
//список вершин графа
List<int> K = new List<int>();
//список "отработанных" вершин
List<int> P = new List<int>();
//вершина
int v;
Stack<int> stackV = new Stack<int>();
Stack<List<int>> stackM = new Stack<List<int>>();