그래프
그래프란 연결되어 있는 객체 간의 관계를 표현하는 자료구조이다
그래프 G는 (V, E)로 표현되며 ‘정점(vertices) or 노드’ / ‘간선(edge) or 링크’ 간의 관계를 의미한다
- 그래프의 경로: 정점 간 거쳐가는 경로 ex) B -> A -> C -> D
- 그래프의 길이: 경로 사이의 간선 개수 ex) 3
그래프의 표현
그래프의 탐색
그래프의 탐색은 시작 정점부터 차례대로 모든 정점들을 한 번씩 방문하는 방법으로,
깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)이 있다
신장 트리
신장 트리란 그래프 내의 모든 정점을 포함하는 트리로 사이클을 포함하면 안된다
위상 정렬
위상 정렬이란 방향 그래프에 대해 정점들의 선행 순서를 위반하지 않으면서 모든 정점을 나열하는 것
가중치 그래프
간선에 가중치가 할당된 그래프이며 G = (V, E, w)로 표현한다 (w: 비용/가중치/길이)
최소비용 신장 트리
간선들의 가중치 합이 최소인 신장 트리 ~ (n-1)개의 간선만 사용하며 사이클 미포함
* 도로, 통신, 배관, 전기 회로 등 길이/비용을 최소화하는 분야에 응용된다
Kruskal의 MST 알고리즘은 각 단계에서 최선의 답을 선택해 최종적 해답에 도달하는 탐욕적 방법(greedy method)을 따른다
Prim의 MST 알고리즘은 하나의 정점에서부터 트리를 단계적으로 확장한다
최단 경로
최단 경로 알고리즘이란 정점 u와 정점 v를 연결하는 경로들 중 간선들의 가중치 합이 최소가 되는 경로
* 2차원 배열 A를 이용하여 3중 반복하는 루프로 구성되며 초기 값은 인접 행렬의 가중치이다
'Computer Science > Algorithm' 카테고리의 다른 글
[HUFS/알고리즘] #2 분할 정복 알고리즘(1) (0) | 2022.03.21 |
---|---|
[HUFS/알고리즘] #1 알고리즘과 시간 복잡도 (1) | 2022.03.14 |
[HUFS/자료구조] #9 탐색 트리 (0) | 2021.11.25 |
[HUFS/자료구조] #8 트리 (0) | 2021.11.18 |
[HUFS/자료구조] #7 정렬과 탐색 (2) | 2021.11.12 |