유니온 파인드 예제 - 1
문제 분석
손으로 풀어보기
슈도코드
n(원소 개수) m(질의 개수)
parent(대표 노드 저장 리스트)
find(a):
a가 대표 노드면 리턴
아니면 a의 대표 노드값을 find(parent[a])값으로 저장(재귀 형태)
union(a, b):
a와 b의 대표 노드 찾기
두 원소의 대표 노드끼리 연결
checkSame(a, b):
a와 b의 대표 노드 찾기
if 두 대표 노드가 같으면:
true 리턴
아니면:
false 리턴
for n 반복:
대표 노드를 자기 자신으로 초기화
for m 반복:
if 질의가 0:
union(a, b)
else:
checkSame(a, b)으로 확인 후 결과 출력코드 구현 - 파이썬
코드 구현 - 자바
Last updated