【发布时间】:2013-03-27 10:46:20
【问题描述】:
假设我有一个边缘。如何轻松找到它连接的两个节点? LEMON 的文档太少了,我找不到这方面的信息。
【问题讨论】:
标签: c++ graph lemon-graph-library
假设我有一个边缘。如何轻松找到它连接的两个节点? LEMON 的文档太少了,我找不到这方面的信息。
【问题讨论】:
标签: c++ graph lemon-graph-library
您可以使用源和目标来查找边缘连接的节点,它的工作原理是这样的
ListDigraph graph;
ListDigraph::Arc edge;
ListDigraph::Node a1,a2;
a1 = graph.source(edge);
a2 = graph.target(edge);
【讨论】:
如果其他人想知道如何在 undirected 设置中实现这一点(“边缘”应该指代,而不是有向设置中的“弧”), source和target对应的方法是u和v。用于列出无向图 G 的所有边的端点的 sn-p 看起来像这样:
for(ListGraph::EdgeIt edge(G); edge != INVALID; ++edge)
std::cout << G.id(G.u(edge)) << " -- " << G.id(G.v(edge)) << endl;
【讨论】: