Я попытался найти структуру данных графа для повторного использования на С# без каких-либо успехов. Конечно, я могу брать взаймы из книг по структуре данных, но я хочу, чтобы это было более коммерчески практичным (?). Также я был бы признателен, если бы вы могли сказать мне, что лучший способ реализации графика. Спасибо
Есть ли какая-либо структура данных графа для С#
Ответ 1
QuickGraph - это графическая библиотека для .NET, которая вдохновлена библиотекой Boost Graph.
QuickGraph предоставляет общие диаграммы направленного/неориентированного графа и алгоритмы для .Net 2.0 и выше. QuickGraph поставляется с такими алгоритмами, как первый поиск глубины, первый поиск в воздухе, поиск A *, кратчайший путь, k-кратчайший путь, максимальный поток, минимальное связующее дерево, наименее распространенные предки и т.д. QuickGraph поддерживает MSAGL, GLEE и Graphviz для визуализировать графики, сериализовать на GraphML и т.д.
Существует несколько способов построения графиков. Лучше всего будет использовать библиотеку графов С++ Boost (BGL). Он реализует графики смежности-списка, смежности-матрицы и края-списка. Подробнее см. здесь.
Ответ 2
В MSDN есть довольно старая статья, которая описывает создание графа в С#, Обширное исследование структур данных с использованием С# 2.0. Несмотря на свой возраст, он по-прежнему решает ваш вопрос, если вы не возражаете создать свой собственный класс графов.