Union-Find [c++]
Union-Find는 그래프 알고리즘으로써, '합집합 찾기'라는 의미를 가진다. 여러개의 연결되지 않은 노드 집합들이 있다고 가정하자. (1) - (2) - (3) - (4) (5) - (6) - (7) - (8) 1,2,3,4와 5,6,7,8을 각각 연결되어있는 노드들이다. 여러한 그래프에서 '연결성'을 프로그래밍 언어로 표현하는 것이 Union-Find 알고리즘이다. Union-Find 알고리즘의 원리는 노드의 집합중 가장 작은 값을 가지는 노드가 부모 노드라고 가정하고, ex) 1,2,3,4의 부모노드는 모두 1이다. 부모노드가 같으면 연결되어 있다고 생각하는 것이다. find는 해당 노드의 부모 노드를 찾는 알고리즘이고 ex) find(3)을 하면 1을 반환 union은 노드의 집합을 연결하는 알..