RMVL  1.5.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
rm::UnionFind< Tp > 模板类 参考

并查集 更多...

#include <rmvl/core/datastruct.hpp>

rm::UnionFind< Tp > 的协作图:

Public 类型

typedef Tp value_type
 
typedef Tp & reference
 
typedef const Tp & const_reference
 
typedef std::size_t size_type
 

Public 成员函数

template<typename InputIterator >
 UnionFind (InputIterator first, InputIterator last)
 构造并查集
 
bool connected (const Tp &val_a, const Tp &val_b)
 两个元素是否在同一个集合
 
void merge (const Tp &val_a, const Tp &val_b)
 将两个元素所在集合合并
 
std::unordered_map< Tp, std::vector< Tp > > extract ()
 导出数据
 
int components ()
 获取连通分量
 

详细描述

template<typename Tp>
class rm::UnionFind< Tp >

并查集

模板参数
Tp元素类型

成员类型定义说明

◆ const_reference

template<typename Tp >
const Tp& rm::UnionFind< Tp >::const_reference

◆ reference

template<typename Tp >
Tp& rm::UnionFind< Tp >::reference

◆ size_type

template<typename Tp >
std::size_t rm::UnionFind< Tp >::size_type

◆ value_type

template<typename Tp >
Tp rm::UnionFind< Tp >::value_type

构造及析构函数说明

◆ UnionFind()

template<typename Tp >
template<typename InputIterator >
rm::UnionFind< Tp >::UnionFind ( InputIterator first,
InputIterator last )
inline

构造并查集

模板参数
InputIterator老式前向迭代器类型
参数
[in]first起始迭代器
[in]last终止迭代器

成员函数说明

◆ components()

template<typename Tp >
int rm::UnionFind< Tp >::components ( )
inline

获取连通分量

◆ connected()

template<typename Tp >
bool rm::UnionFind< Tp >::connected ( const Tp & val_a,
const Tp & val_b )
inline

两个元素是否在同一个集合

参数
[in]val_a元素 A
[in]val_b元素 B
返回
是否在同一个集合

◆ extract()

template<typename Tp >
std::unordered_map< Tp, std::vector< Tp > > rm::UnionFind< Tp >::extract ( )
inline

导出数据

返回
Key: 集合代表元素,Value: 集合

◆ merge()

template<typename Tp >
void rm::UnionFind< Tp >::merge ( const Tp & val_a,
const Tp & val_b )
inline

将两个元素所在集合合并

参数
[in]val_a元素 A
[in]val_b元素 B

该类的文档由以下文件生成: