Union-Find(3) : Quick Union


Union-Find(3) : Quick Union

Quick-union [lazy approach] 이번엔 id 배열이 인덱스별로 root 노드를 가리키고 있습니다. 여기서 인덱스와 id 배열의 값이 동일한 것은 자기 자신이 곧 노드라는 뜻입니다. 따라서 p와 q가 연결되어 있는지는 두 노드의 root 노드가 동일한지를 비교하면 됩니다. root 노드를 찾아가는 과정은 재귀적입니다. root 노드의 root가 자기 자신이 될 때까지 과정을 반복하게 됩니다. 여기서 id 배열의 값을 업데이트 할 때는 관련된 모든 값을 변경할 필요가 없습니다. 단지 child가 되는 node의 root를 변경해주면 되는 것입니다. 마찬가지로 python 코드로 구현한 결과물은 다음과 같습니다. class Quick_Union_UF(n): id = [x for x in ra..


원문링크 : Union-Find(3) : Quick Union