| RMVL 2.3.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | 所有成员列表
rm::UnionFind< Tp > 模板类 参考
数学、算法模块 » 数据结构

并查集 更多...

`#include <rmvl/algorithm/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>

typedef const Tp& rm::UnionFind< Tp >::const_reference

## ◆ reference

template<typename Tp>

typedef Tp& rm::UnionFind< Tp >::reference

## ◆ size_type

template<typename Tp>

typedef std::size_t rm::UnionFind< Tp >::size_type

## ◆ value_type

template<typename Tp>

typedef 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

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

- rmvl/algorithm/datastruct.hpp