alglib::disjoint_sets::disjoint_sets< elt_type > Class Template Reference

#include <disjoint_sets.h>

Public Member Functions

 disjoint_sets ()
 
void union_set (const elt_type &e1, const elt_type &e2)
 
int find_set (const elt_type &e)
 
int find_set_by_id (int id)
 
void make_set (const elt_type &e)
 
bool same_set (const elt_type &e1, const elt_type &e2)
 
int set_count ()
 
int set_size (const elt_type &e)
 

Constructor & Destructor Documentation

template<typename elt_type >
alglib::disjoint_sets::disjoint_sets< elt_type >::disjoint_sets ( )
inline
24 : elts(0) {}

Member Function Documentation

template<typename elt_type >
int alglib::disjoint_sets::disjoint_sets< elt_type >::find_set ( const elt_type &  e)
52  {
53 
54  return find_set_by_id(eltid[e]);
55 }
template<typename elt_type >
int alglib::disjoint_sets::disjoint_sets< elt_type >::find_set_by_id ( int  id)
template<typename elt_type >
void alglib::disjoint_sets::disjoint_sets< elt_type >::make_set ( const elt_type &  e)
44  {
45 
46  eltid[e] = elts;
47  parent[elts] = elts;
48  ++elts;
49 }
template<typename elt_type >
bool alglib::disjoint_sets::disjoint_sets< elt_type >::same_set ( const elt_type &  e1,
const elt_type &  e2 
)
template<typename elt_type >
int alglib::disjoint_sets::disjoint_sets< elt_type >::set_count ( )
template<typename elt_type >
int alglib::disjoint_sets::disjoint_sets< elt_type >::set_size ( const elt_type &  e)
template<typename elt_type >
void alglib::disjoint_sets::disjoint_sets< elt_type >::union_set ( const elt_type &  e1,
const elt_type &  e2 
)
58  {
59 
60  int repr_id1 = find_set(e1);
61  int repr_id2 = find_set(e2);
62  parent[repr_id1] = repr_id2;
63 }
int find_set(const elt_type &e)
Definition: disjoint_sets.h:52

The documentation for this class was generated from the following file: