| 39 | { |
| 40 | |
| 41 | DisjointSet::DisjointSet(point_count_t n) |
| 42 | { |
| 43 | m_parent.resize(n); |
| 44 | |
| 45 | // In the beginning each element is an individual set |
| 46 | for (unsigned int i = 0; i < n; ++i) |
| 47 | { |
| 48 | m_parent[i] = i; |
| 49 | } |
| 50 | } |
| 51 | |
| 52 | // Find function with path-splitting optimisation |
| 53 | PointId DisjointSet::find(PointId x) |