알고리즘과 자료구조
[개념] 그래프 이론 알고리즘
Eungzy
2021. 1. 31. 23:46
728x90
그래프를 활용하여 풀 수 있는 알고리즘 유형에 대해서 정리한 포스팅이다.
📌서로소 집합
공통 원소가 없는 두집합
이때 집합 간의 관계를 파악하기 위해 서로소 집합 알고리즘을 사용할 수 있는데 ,
서로소 집합 알고리즘은 union-find연산으로 구성되며,
모든 노드는 자신이 속한 집합을 찾을 때 루트 노드를 재귀적으로 찾는다
📌신장 트리
하나의 그래프가 있을 때 모든 노드를 포함하는 부분 그래프를 의미한다.
일반적인 그래프에서 신장 트리를 추출하는 예시는 다음 그림과 같다.
주로 현실세계에서 '모든 섬을 도로를 이용해 연결하는 문제'등에서 사용된다.
📌크루스 칼 알고리즘
가능한 최소 비용의 신장 트리를 찾아주는 알고리즘이다.
시간 복잡도는 O(ElogE)
간선을 정렬한 뒤에 간선의 비용이 작은 순서대로 차례대로 최소 신장 트리를 만들어가는 그리디 알고리즘의 일종이다.
📌위상 정렬 알고리즘
방향 그래프의 모든 노드들을 방향성에 거스르지 않도록 순서대로 나열하는 정렬 기법을 의미한다.
ex 선수과목을 고려한 학습 순서 설정 문제!!!!!!!!!!
*큐 자료구조를 이용한 위상 정렬의 시간 복잡도는 O(V+E)이다.
오케이! 어려운 유형이다 잘 연습해서 숙지하도록 하자!
728x90