Неподтвержденное представление графа в графе qucik
Я использую библиотеку QuickGraph .NET, которая является библиотекой клонов для наддува (C++), но у меня есть несколько вопросов, поскольку я совершенно новичок в этой библиотеке 1- Как бы я представлял неориентированный граф в QucikGraph? Я обнаружил, что вы можете сделать это легко в boost, используя: adjacency_list<boost::vecS, boost::vecS, boost::undirectedS> Graph;
2- Как бы я назначил значения вершинам? Мне интересно прикрепить целочисленные значения к вершинам, но я не мог понять, как это сделать:
AdjacencyGraph graph = new AdjacencyGraph(new VertexAndEdgeProvider(), false);//I'm not sure about the proper value of this boolean
IVertex u = graph.AddVertex();// here I'm adding vertex to 'graph' but with no value
IVertex v = graph.AddVertex();// here also I'm doing the same thing but without assigning any value to vertex v
graph.AddEdge(u, v);
1 ответ
Вот как это сделать: предположим, ваши вершины vertex1
а также vertex2
имеют тип T
, вы должны использовать следующий фрагмент кода (NB: пространство имен будет using QuickGraph;
):
AdjacencyGraph<T, Edge<T>> newGraphInstance = new AdjacencyGraph<int, Edge<int>>();
newGraphInstance.AddVerticesAndEdge(new Edge<T>(vertex1, vertex2));
Это добавит как вершины, так и соответствующее ребро.