使用BGL实现random_spanning_tree
Implementation of random_spanning_tree using BGL
我在random_spanning_tree的实现中遇到了一些问题。
如何初始化随机数生成器?
boost::uniform_int<> rng(0,9);
boost::random::random_number_generator <boost::uniform_int<>, long>
gen(rng);
boost::random_spanning_tree(g, gen,
boost::root_vertex(1).predecessor_map(&p[0])
) ;
这是链接:https://www.boost.org/doc/libs/1_64_0/libs/graph/doc/random_spanning_tree.html
要运行此函数,gen
参数的模型应该是什么
提前感谢您的帮助。
在我看来,应该只传递一个引擎作为生成器。
示例
在Coliru上直播
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/random_spanning_tree.hpp>
#include <random>
int main() {
using G = boost::adjacency_list<>;
std::mt19937 gen;
//std::uniform_int_distribution<> rng(0,9);
G g(10);
add_edge(1, 2, g);
add_edge(2, 3, g);
add_edge(2, 6, g);
add_edge(6, 4, g);
std::vector<G::vertex_descriptor> p(num_vertices(g));
boost::random_spanning_tree(g, gen, boost::root_vertex(1).predecessor_map(&p[0]));
}
这将在出现boost::loop_erased_random_walk_stuck
异常时发生可预测的故障。
相关文章:
- 使用 boost::p roperty_tree::p tree 如何获取特定键的值
- Boost R-Tree中的最小边界矩形计算
- C++ EXC_BAD_ACCESS (Binary Tree)
- Boost::p tree - 访问列表中包含的属性树节点
- Deserilizing n-ary tree
- Balancing KD Tree
- 如何填充'Tree'结构'Declaratively'
- 为什么qmap使用skiplist而不是ob rb-tree
- 避免在节点中添加重复的子级,使用 Kasper Peeters 的 Tree.hh 库
- SPOJ GSS1 WA - Segment tree
- Flattening the tree
- C++ AVL Tree Deletion
- RedBlack and AVL tree c++
- C++中已经有为 LinkedList、HashMap、Tree 等编写的类
- boost::p roperty_:tree - 解析和处理数据
- making tree with unordered_map
- AVL Tree in C++ Exception
- 使用 boost::p roperty_tree::p tree 将注释写入 ini 文件
- C++将具有非常相关数据的类 Tree 拆分为两个类
- 分段故障即将"Insertion in Binary Search tree." #