【问题标题】:How to get a node with index n in Lemon Graph Library?如何在 Lemon Graph Library 中获取索引为 n 的节点?
【发布时间】:2014-09-05 12:21:37
【问题描述】:

当我使用此代码构建图表 g 时:

ListDigraph g;

for (int i = 0; i < 7; ++i)
  g.addNode();

它的节点将具有索引 {0..6},我通过在它们上调用 g.id() 对其进行了测试。如何使用索引获取节点?例如,我想通过调用向g 添加一个弧:

g.addArc(<node n>, <node m>);

【问题讨论】:

  • 假设柠檬没有这个功能并且假设id没有改变,也许你可以维护你自己的向量,你可以推送新的节点?
  • @user2079303 是的,这是一个选项,但我更喜欢使用 Lemon API。
  • 在这种情况下,您可以使用节点迭代器并线性检查节点,直到找到正确的 id。
  • @user2079303 线性检查节点,直到找到正确的 id - 这将非常低效。
  • 这是搜索 ListDigraph 内部使用的链接列表的最快方法(根据文档的列表向量)。

标签: c++ lemon-graph-library


【解决方案1】:

可以用nodeFromId成员函数完成,见Graph Class Reference

g.addArc(g.nodeFromId(n), g.nodeFromId(m));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多