|
vg
tools for working with variation graphs
|
#include <sparse_union_find.hpp>
Public Member Functions | |
| SparseUnionFind (bool include_children, vector< size_t > node_ids) | |
| ~SparseUnionFind () | |
| Destructor. | |
| size_t | size () |
| Returns the number of indices in the UnionFind. | |
| size_t | find_group (size_t i) |
| Returns the group ID that index i belongs to (can change after calling union). | |
| void | union_groups (size_t i, size_t j) |
| Merges the group containing index i with the group containing index j. | |
| size_t | group_size (size_t i) |
| Returns the size of the group containing index i. | |
| vector< size_t > | group (size_t i) |
| Returns a vector of the indices in the same group as index i. | |
| vector< vector< size_t > > | all_groups () |
| Returns all of the groups, each in a separate vector. | |
Public Attributes | |
| vector< size_t > | node_ids |
| unordered_map< size_t, size_t > | sparse_to_dense |
| unordered_map< size_t, size_t > | dense_to_sparse |
Private Attributes | |
| bool | include_children |
| vg::SparseUnionFind::SparseUnionFind | ( | bool | include_children, |
| vector< size_t > | node_ids ) |
| vg::SparseUnionFind::~SparseUnionFind | ( | ) |
Destructor.
| vector< vector< size_t > > vg::SparseUnionFind::all_groups | ( | ) |
Returns all of the groups, each in a separate vector.
| size_t vg::SparseUnionFind::find_group | ( | size_t | i | ) |
Returns the group ID that index i belongs to (can change after calling union).
| vector< size_t > vg::SparseUnionFind::group | ( | size_t | i | ) |
Returns a vector of the indices in the same group as index i.
| size_t vg::SparseUnionFind::group_size | ( | size_t | i | ) |
Returns the size of the group containing index i.
| size_t vg::SparseUnionFind::size | ( | ) |
Returns the number of indices in the UnionFind.
| void vg::SparseUnionFind::union_groups | ( | size_t | i, |
| size_t | j ) |
Merges the group containing index i with the group containing index j.
| unordered_map<size_t, size_t> vg::SparseUnionFind::dense_to_sparse |
|
private |
| vector<size_t> vg::SparseUnionFind::node_ids |
| unordered_map<size_t, size_t> vg::SparseUnionFind::sparse_to_dense |
1.17.0