b1197. 최소 스패닝 트리
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/1197   크루스칼 알고리즘을 활용하여 문제를 풀이하였다.최근 문제 풀이한 것 중에서 크루스칼이 있었고 간선을 가중치기준으로 정렬하여풀었던 기억이 있어 그방식대로 풀었다. 풀이과정은 비교적 간단하고이번 문제 풀이에서 기억에 남는것은  union find 를 활용할 때경로 압축이다. find() 함수에서 if(p[a] == a) 일때 return a를 하는것이아니라if(p[a]!=a) 일때 p[a] = find(a)를 해주고 return p[a] 를 하게되면 정점의갯수가 많아지고 간선이 많아지더라도 시간복잡도가 확실히 줄어든 다는점을알게되었다. 예를들어 정점이 6개고 parent 배열이 union(1, 2), union(2, 3) union(3, ..