![]() |
Поиск клик графа по алгоритму Брона-Кербоша на C#Новая программа с исходниками на языке C#. В этой программе реализуется алгоритм Брона-Кербоша (поиск всех клик неориентированного графа) с возможностью ввода начальных данных из текстового файла. Текстовый файл вот такого формата: ![]() Первая строка размерность матрицы, остальные - единицы и нули. В готовом проекте идет несколько файлов с примерами ![]() В общем случае Брон-Кербош работает, рассматривая всех соседей произвольного элемента. Для каждого соседа алгоритм рассматривает клику. Если в какой-либо точке нет вершин, которые остаются как возможность, и также нет вершин, исключенных, алгоритм сообщает о максимальной клике. По сути здесь всего два основных части: метод FindAllCliques() для поиска клик и вложенный класс VertexMatrix. В FindAllCliques() мы создаем несколько списков List: для вершин, образующих клику, для вершин графа, для «отработанных вершин» и список несмежных с вершиной вершин. Также используются три подметода.
public int[,] ReadGraphFromFile(string filename) { List<string> input = File.ReadAllText(filename).Replace("\r\n", "\n").Replace(" \n", "\n").Split('\n').ToList(); int size = Convert.ToInt32(input[0]); input.RemoveAt(0); int i = 0, j = 0; int[,] result = new int[size, size]; foreach (var row in input) { j = 0; foreach (var col in row.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)) { result[i, j] = int.Parse(col.Trim()); j++; } i++; } return (int[,])result.Clone(); }После выбора файла и нажатия «Go» в каждой строке текстбокса будет клика ![]() В тексте программы имеются комментарии. Полный код с исходниками вы можете заказать у меня. Цена на данный момент - 500 рублей. ![]() Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда. ![]() Читайте также:
|
Мои услуги
|
© upread.ru 2013-2023 При перепечатке активная ссылка на сайт обязательна. |