问题标签 [lemon-graph-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 使用 Rcpp 在 R 上的柠檬图库
我认为这个答案有点复杂,因为它涉及到几件事。
我想用 R 进行高性能计算,尤其是图形(网络)。作为 R 包igraph非常好。但是 R 很慢,所以我想用 C++(可能是 C)编写计算量大的例程。我看了一下igraph C 库,发现使用起来有点乱。我还查看了Boost Graph Library,我读到它很难学习。所以我最终找到了Lemon Graph Library。它在 C++ 中,看起来非常好用。
所以我按照官方页面的推荐安装了Lemon Graph Library。然后使用Rcpp和内联包,我管理自己从 R 运行 Lemon Graph C++ 代码。在这里,我详细写下我所做的。但基本上我把这个:
在 myexample_inline.R 文件中,然后运行 R 控制台并写入:
所以它有效!但现在我有以下问题。如果我创建一个 C++ 函数(比如 double func1(g)),例如计算某个 Lemon 图形对象的某些属性。我如何从内联代码中调用该函数?我必须将 func1() 作为模板函数并将其放在 cxxfunction() 的包含字段中吗?
基本上:我不知道如何从另一个也在 R 中内联的 C++ 函数调用在 R 中内联的 C++ 函数。这可能吗?还有另一种不使用内联代码的方法吗?
也许我可以使用Rcpp 模块来做到这一点,但我无法(仍然)弄清楚如何做到这一点。我在使模块工作时遇到问题。我会继续尝试这个,但也许我可以从这里得到一些提示。
我还考虑过开发(我的第一个)包的可能性。但是我遇到了 Lemon Graph C++ 代码以这种方式调用标题的问题(例如):
所以这意味着(至少我相信这一点)我无法避免安装 Lemon Graph Library。如果我想制作 Lemon Graph Library 的 R 包,我必须再次“重写”所有代码!!!所以这不是我的主要选择。
此致
c++ - Lemon Graph Library C++ - 有向图
我正在寻找 Lemon 来处理我的寻路,因为它具有搜索和最短路径算法等。
问题是,我一开始就一直在理解 Lemon 的工作原理,他们有教程但没有论坛可问。
我对有向图的理解是你有一个节点,它可以链接或不链接到另一个节点,然后你对它有一个权重。
例子:
在此,A
与B
权重为 1C
的连接,与无连接(因此一旦到达,C
您就会被卡住),并B
以A
1 的值B
连接并C
以 5 的值连接。
该教程说要做这样的事情:
所以现在我有一个g
包含三个节点的图表。怎么办?在哪里/如何添加连接信息以及权重值?
c++ - 将 Dijkstra 算法与 Lemon Graph Library 一起使用
我对从 Lemon Graph Libraries(Lemon's Dijkstra's http://lemon.cs.elte.hu/pub/tutorial/a00009.html)运行 Dijkstra 算法所需的一些参数有疑问。要运行该算法,可以编写类似图形dijkstra(g, length).distMap(dist).run(s,t);
在哪里、起始节点是什么以及目标节点是什么的东西。我的问题是什么是and ,以及它们是如何使用的。谢谢!g
s
t
length
dist
c++ - Lemon Graph Library C++ - 使用循环的 addNode
是否有可能使用 C++ 中的循环创建柠檬图?
我的问题:
- 具有列的数据库表(我们称之为 t_nodes):节点
- 带有图形信息的数据库表(我们称之为 t_edges):node1 | 节点2 | 边缘分数
- 超过 10000 个条目
我想要的结果:
- 有向图:例如 N1 -> N2;N2 -> N3;N3 -> N1
我的问题
是否可以对表中的每个条目使用循环来将节点添加到图中
t_nodes
- 到目前为止,我只是找到了他们手动添加每个节点的实现(参见下面的示例)
- 真的没有机会使用循环将节点添加到柠檬图中吗?
如何对 中提到的所有关系使用循环
t_edges
?
感谢您的宝贵时间,非常感谢您的帮助!
在周末有一些空闲时间并花一些时间骑自行车后,我找到了解决方案:)
我的解决方案:
看起来,柠檬没有提供支持图表边缘的附加信息的可能性。因此,我刚刚创建了一个额外的向量来存储这些信息。但是,出于某些目的,使用哈希图访问节点可能更明智。
看看开发的示例脚本(非常简单;))
Lemon C++-代码示例(参考: http: //lemon.cs.elte.hu/pub/tutorial/a00022.html):
c++ - 柠檬.eps中的自动坐标导出
在 Lemon 教程中,所有示例在绘制图形时都指定坐标:
是否有可能在不指定坐标的情况下将图形图像导出到 .eps 文件(或任何其他文件)?(我的意思是自动排列)
struct - 具有固定大小的 Eigen 对象作为成员和容器的结构
我有一个结构,它有一个固定大小的 Eigen 对象作为成员,我想将其用作 Lemon 的边缘图:
代码编译得很好,但我得到一个运行时错误:
我应该如何解决这个问题?(我已经包含了EIGEN_MAKE_ALIGNED_OPERATOR_NEW
宏。)
cmake - CMake 错误:TARGETS 没有为共享库目标指定 LIBRARY DESTINATION
使用 CMake 构建开源项目时(在我的例子中,它是柠檬图形库),当我尝试通过以下方式构建共享库时出现此错误-DBUILD_SHARED_LIBS=1
:
这个错误来自哪里,我该如何解决?
c++ - 在 LEMON 图形库中查找边的节点
假设我有一个边缘。如何轻松找到它连接的两个节点?LEMON 的文档太少了,我找不到这方面的信息。
c++ - 在不复制的情况下将元素插入到柠檬图库地图中
我正在使用Lemon Graph Library,我想在不复制或分配的情况下将项目添加到柠檬地图。这是代码:
这里的主要问题是 CrossRefMap 需要在构造函数中初始化并且没有复制构造函数或赋值运算符。我可以改用指向这个结构的指针,但是这个解决方案并不让我满意。我怎么解决这个问题?任何建议将不胜感激。;)
c++ - 在 Lemon Graph Library 中访问向量中的地图值
我有以下代码
在 printin 我得到错误:
我如何访问各州的名称....