union

알고리즘

[알고리즘] Union-Find(유니온 파인드)로 무방향 그래프에서 사이클(cycle) 찾기

1️⃣ 유니온 파인드란?Union-Find는 서로소 집합을 찾는 알고리즘으로, 서로소 집합은 공통 원소가 없는 두 집합을 의미한다. 아래와 같이 루트 노드를 찾고(find), 연결된 두 노드를 합치는(union) 연산으로 이루어져 있다.def find(parent, x): # 부모 찾기 if parent[x] != x: parent[x] = find(parent, parent[x]) # 루트 노드가 아닌 경우, 재귀호출을 통해 루트 노드를 찾음 return parent[x]def union(parent, x, y): # 합치기 x = find(parent, x) y = find(parent, y) if x  2️⃣ 유니온 파인드로..

알고리즘/프로그래머스

[프로그래머스] 네트워크(LV3 - Python) - Union-Find(유니온 파인드) 알고리즘

해당 글에서는 네트워크 문제를 Python을 이용해 풀이하고자 한다.해당 문제는 Union-Find를 사용하는 대표적인 문제로, 해당 알고리즘을 까먹어 다시 상기하고자 다시 풀이했다! 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔷 문제 설명 🔷 문제 풀이해당 문제를 풀기 위해선 Union-Find의 개념에 대해 알아야 한다.이는 서로소 집합을 찾는 알고리즘으로, 서로소 집합은 공통 원소가 없는 두 집합을 의미한다. 네트워크를 찾는 과정이 서로소 집합을 찾는 과정에 해당하며, 따라서 Union-Find를 이용하면 된다...

당찬 뱁새
'union' 태그의 글 목록