You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17 lines
484 B

#pragma once
#include <implicit_arrangement.hpp>
struct union_find_disjoint_set {
union_find_disjoint_set() noexcept = default;
union_find_disjoint_set(uint32_t size) noexcept;
void init(uint32_t size) noexcept;
int32_t find(uint32_t x) noexcept;
int32_t merge(uint32_t x, uint32_t y) noexcept;
void extract_disjoint_sets(std::vector<std::vector<uint32_t>>& disjoint_sets, std::vector<uint32_t>& index_map) noexcept;
std::vector<int32_t> parent{};
};