#pragma once #include "../../common/common.h" class UnionFind { public: UnionFind(); UnionFind(std::vector elements); node_t operator[](node_t object); void _union(node_t object1, node_t object2); private: std::unordered_map parents; std::unordered_map weights; }; py::object kruskal_mst_edges(py::object G, py::object minimum, py::object weight, py::object data, py::object ignore_nan); py::object prim_mst_edges(py::object G, py::object minimum, py::object weight, py::object data, py::object ignore_nan); py::object boruvka_mst_edges(py::object G, py::object minimum, py::object weight, py::object data, py::object ignore_nan);