Category Archives: C#

C#.Поиск длиннейших путей во взвешенном ациклическом орграфе

Аналогичен поиску кратчайших путей за разницей знаков при релаксации ребра.

Posted in C# | Comments Off on C#.Поиск длиннейших путей во взвешенном ациклическом орграфе

С#. Топологическая сортировка во взвешенном орграфе

Класс

Posted in C# | Comments Off on С#. Топологическая сортировка во взвешенном орграфе

С#. Поиск кратчайших путей во взвешенном ациклическом орграфе

Git

Posted in C# | Comments Off on С#. Поиск кратчайших путей во взвешенном ациклическом орграфе

С#. Поиск циклов во взвешенном орграфе

Git Ранее уже был пример для поиска цикла в орграфе, теперь поиск цикла во взвешенном орграфе. Отличие здесь в том, что мы перебираем ребра и берем вершину To(). В остальном класс точно такой же. При обнаружении цикла, он заносится в … Continue reading

Posted in C# | Comments Off on С#. Поиск циклов во взвешенном орграфе

C#. Дейкстера. Кратчайшие пути для всех пар вершин в орграфе

Класс DijkstraAllPairsSP

 

Posted in C# | Comments Off on C#. Дейкстера. Кратчайшие пути для всех пар вершин в орграфе

С#. Дейкстера. Поиск кратчайших путей из вершины в орграфе

Поиск кратчайших путей из одного источника для взвешенных графов с неотрицательными весами. ДКП – дерево кратчайших путей

Posted in C# | Comments Off on С#. Дейкстера. Поиск кратчайших путей из вершины в орграфе

С#. Взвешенный орграф

Git Класс EdgeWeightedDigraph

Posted in C# | Comments Off on С#. Взвешенный орграф

C#. Алгоритм Прима. Энергичный вариант.

Git Энергичный вариант алгоритма Прима отличается тем, что мы сразу же отсеиваем ребра, которые образуют цикл в минимальном остовном дереве.

Тестовый клиент

Posted in C# | Comments Off on C#. Алгоритм Прима. Энергичный вариант.

С#. Алгоритм Прима (lazy вариант)

Git Своими словами. Обходятся все вершины. Для каждой вершины выбираются инцидентные ребра. Просматриваются противоположные вершины инцидентных ребер и добавляются в очередь. Просматривается очередь и выбирается ребро с наименьшим весом.  Оно добавляется в финальную очередь. Также должна быть проверка на то, … Continue reading

Posted in C# | Comments Off on С#. Алгоритм Прима (lazy вариант)

C#. IEnumerable. Пример реализации

Делал индексную очередь с приоритетами, понадобилось реализовывать интерфейс IEnumerable. Получилось так

Понадобилось реализовать 2 следующих метода

В контексте логики класса был написан другой класс HeapIterator

Posted in C# | Comments Off on C#. IEnumerable. Пример реализации