柠檬图库C - 使用循环的addNode
Lemon Graph Library C++ - addNode using loop
是否有可能使用C 中的环创建柠檬图?
我的问题:
- 一个数据库表(我们称其为t_nodes)用列:节点
- 一个数据库表(我们称其为t_edges)带有图形信息:node1 |Node2 |edgescore
- 超过10000个条目
我所需的结果:
- 有向图:例如N1-> n2;N2-> n3;N3-> N1
我的问题
-
是否可以在
t_nodes
表中为每个条目使用循环添加节点- 到目前为止,我刚刚找到了他们手动添加每个节点的实现(请参见下面的示例)
- 真的没有机会使用循环在柠檬图中添加节点吗?
-
我如何使用循环作为
t_edges
中提到的所有关系?
感谢您的时间,并非常感谢任何帮助!
在周末有一些空闲时间并在我的自行车上花了一些时间,我找到了解决方案:)
我的解决方案:
看来,柠檬没有提供向图表中边缘提供其他信息的可能性。因此,我刚刚创建了一个用于存储此信息的额外向量。但是,出于某些目的,使用hashmap访问节点可能更明智。
可以查看开发的示例脚本(非常微不足道;))
柠檬C - 代码示例(参考:http://lemon.cs.elte.hu/pub/tutorial/a00022.html):
/* -*- mode: C++; indent-tabs-mode: nil; -*-
*
* This file is a part of LEMON, a generic C++ optimization library.
*
* Copyright (C) 2003-2010
* Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
* (Egervary Research Group on Combinatorial Optimization, EGRES).
*
* Permission to use, modify and distribute this software is granted
* provided that this copyright notice appears in all copies. For
* precise terms see the accompanying LICENSE file.
*
* This software is provided "AS IS" with no warranty of any kind,
* express or implied, and with no claim as to its suitability for any
* purpose.
*
*/
#include <iostream>
#include <lemon/list_graph.h>
using namespace lemon;
using namespace std;
int main()
{
ListDigraph g;
ListDigraph::Node u = g.addNode();
ListDigraph::Node v = g.addNode();
ListDigraph::Arc a = g.addArc(u, v);
cout << "Hello World! This is LEMON library here." << endl;
cout << "We have a directed graph with " << countNodes(g) << " nodes "
<< "and " << countArcs(g) << " arc." << endl;
return 0;
// Further development
ListDigraph graph;
vector <string> name;
name.push_back("A");
name.push_back("B");
name.push_back("C");
for (unsigned int n=0; n<name.size(); n++) {
ListDigraph::Node node = graph.addNode();
lemon_node_vector[n].id = n;
lemon_node_vector[n].name = name[n];
}
}
当然,您可以在循环中执行addNode和addarc。或在递归功能中。或您想要的任何其他方式。
您尝试过吗?有错误吗?
相关文章:
- 如何循环打印顶点结构
- 如何在C++中从两个单独的for循环中添加两个数组
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 正在尝试了解输入验证循环
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 循环后如何继续阅读
- Ardunio UNO解决了多个重叠的定时器循环
- Eigen如何在容器循环中干净地附加矩阵
- 在某些循环内使用vector.push_back时出现分段错误
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 为什么我的for循环不能正确获取argv
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- while循环中while循环的时间复杂度是多少
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 为什么在这个代码结束循环中没有得到结束
- 在基于范围的for循环中使用结构化绑定声明
- 用于C++中带有数组和指针的循环
- 循环中的随机函数
- 是什么阻止DOMTimerCoordinator::NextID进入无休止的循环
- 柠檬图库C - 使用循环的addNode