草庐IT

graph_result

全部标签

c++ - 使用整数索引访问 boost::graph 中的特定边

这与我昨天关于使用整数索引访问顶点的问题有关。该线程在这里:Accessingspecificverticesinboost::graph那里的解决方案表明,使用vecS作为顶点类型,确实可以使用整数索引访问特定顶点。我想知道boost是否提供了类似的方法来使用整数索引有效地访问任意边缘。附件是描述前者(有效访问具有整数索引的顶点)和基于开发人员显式维护两个数组访问边的代码,from[]和to[],分别存储边的源和目标。代码创建了下图:#include#include#include#include#includeusingnamespaceboost;typedefadjacency

c++ - Kdevelop 5 + kdev-control-flow-graph

我从sandsmark/kdev-control-flow-graphfork后成功构建并安装了kdev-control-flow-graph插件进入我自己的fljx/kdev-control-flow-graph分支变化最小。但是,当我尝试启用kdev-control-flow-graphView时,我收到以下错误:“无法创建KGraphViewer实例,请验证是否安装了兼容版本。”我在Kubuntu16.04上运行KDevelop5.1.1并安装了kgraphviewer:#aptsearchkgraphviewerSorting...ProntoFullTextSearch...

c++ - 如何使用 Boost Graph Library 获取边缘的端口标识符?

使用BoostGraphLibrary,是否可以获取边缘的端口标识符?示例:调用read_graphviz后,我可以遍历该图的边并打印它们的node_id——我得到“A->B,A->乙”。如何打印类似“A:p0->B:p1,A:p0->B:p2”的内容?digraphG{A[label="A|p0"];B[label="B|p1|p2"];A:p0->B:p1;A:p0->B:p2;} 最佳答案 来自read_graphviz_new.hpp来源:structedge_info{node_and_portsource;node_an

c++ - Boost Graph Library : How to use depth_first_visit, ColorMap 问题

初始问题:BoostGraphLibrary:PreventDFSfromvisitingunconnectednodes我正在尝试使用boost::depth_first_visit,但不知道如何提供ColorMap属性。我在这里尝试了示例中给出的方法:http://www.boost.org/doc/libs/1_58_0/libs/graph/example/loops_dfs.cpp我的(相关)代码:///Definevertexproperties.structNodeProperty{unsignedid;///Id.unsignedkind;///Kind.unsigne

c++ - std::result_of 应用于 const 重载方法

如果我给typedefstd::vectorv;然后下面可以用来捕获常量迭代器的类型(另一种方法是使用v::const_iterator,但这取决于const_iterator成员类型在类中明确定义。typedeftypenamestd::result_of::typeconst_iterator;确实,我们可以检查上面的内容是否如我们所愿。static_assert(std::is_same::value);但是,我发现下面的编译器失败。typedeftypenamestd::result_of::typeiterator;编译器提示该方法被重载(通过const修饰符)并且无法明确解

c++ - Boost Graph Library 无向图 无平行边实现

我正在使用BoostGraphLibrary来处理无向图,并声明我的图有typedefproperty>VertexProperty;typedefadjacency_listUndirectedGraph;如您所见,OutEdgeList是std::set类型,我选择它是因为文档中说这种类型将强制不存在平行边。现在,我的程序读取一个文本文件,该文件指示节点之间的边,创建节点(如果以前没有看到)并在它们之间添加边。我最近跑了大数据量的代码,发现奇怪的结果。几个小时后,我发现一些用户的度数比图中的顶点数多,所以我用一个简单的文本文件尝试了代码,该文件只描述了同一对节点之间的两条边,但源、

c++ - 如何将 boost::graph 算法与 listS、setS 作为顶点/边缘容器一起使用?

使用boost::graph库的boost示例通常使用像这样的图usingnamespaceboost;typedefadjacency_list,property>graph;因此它们工作得很好。但我有一个图表typedefadjacency_listgraph;并且算法不是开箱即用的。在大多数情况下,必须提供用于查找特定顶点索引(整数值)的vertex_descriptor的映射。我想检查我的图是否是平面图并计算它的平面嵌入。我提供了一个顶点索引图,它确实以这种方式工作,例如connected_components算法,但显然不适用于boyer_myrvold_planarity_

c++ - 从 boost::labeled_graph 获取节点标签

我想在BGL的labeled_graph中检索标记节点的标签,但找不到执行此操作的方法。以下MWE演示了我正在寻找的内容://g++-O3question.cpp-oquestion.exe-I.--std=c++11-lprotobuf-lite-lpthread-lz-losmpbf#include#include#include#includetypedeflonglongnode_id_t;typedefboost::adjacency_listAdjGraph;typedefboost::labeled_graphLabeledGraph;intmain(){LabeledG

c++ - 权重映射作为 Boost Graph Dijkstra 算法中的函数

我正在使用BoostGraphLibraries,需要使用一个权重图,它不是常数,而是参数K的函数(即边成本取决于K)。在实践中,给定以下代码:#include#include#include#include#include#includestructEdge{Edge(floatweight_):weight(weight_){}floatweight;floatgetWeight(intK){returnK*weight;}};intmain(int,char**){typedefboost::adjacency_listgraph_t;typedefboost::graph_tr

c++ - result_of 对我不起作用

#includeusingnamespacestd;structasd{voidf();};intf();typedeftypenameresult_of::typeresult_free;typedeftypenameresult_of::typeresult_mem;两个typedef都报错Infileincludedfrom../main.cpp:1:0:/usr/include/c++/4.6/type_traits:Ininstantiationof‘std::_Result_of_impl’:/usr/include/c++/4.6/type_traits:1215:12: