Graph(그래프)
1. 정의
- 노드(정점)와 노드(정점)간을 연결하는 간선으로 구성된 자료 구조
- 연결되어 있는 객체간의 관계 표현 가능
- 계층이 없는 네트워크 모델
2. 특징
- 노드 간에 2개 이상의 경로도 가능
- 순환(사이클)/비순환 구조 가능
- 방향성 있는 그래프와 방향성이 없는 그래프 모두 가능
Tree(트리)
1. 정의
- 그레프와 같이 노드와 노드 간을 연결하는 간선으로 구성된 자료 구조
- 그래프의 한 종류
- 루트 노드가 존재하고 -> 부모-자식 관계로 이루어진 계층적인 모델
2. 특징
- 방향성 O
- 사이클이 존재하지 않는 비순환 구조
- 계층 모델로, 깊이와 높이라는 개념 존재
그래프(Graph) | 트리(Tree) | |
정의 | 노드와 그 노드를 연결하는 간선으로 구성된 자료 구조 | 그래프의 한 종류 - 방향성이 있는 비순환 그래프 |
방향성 | 방향/무방향 모두 존재 | 방향 그래프만 존재 |
사이클 | 순환/비순환 모두 존재 노드 한 개의 자체 순환도 가능 |
비순환 그래프만 존재 |
루트 노드 | 루트 노드의 개념 X | 한 개의 루트 노드만 존재 |
부모-자식 | 부모-자식 개념 X | 루트 노드를 제외한 노드는 1개의 부모 노드만을 가짐 |
모델 | 네트워크 모델 | 계층 모델 |
순회 | DFS, BFS | DFs, BFS 방식의 전위, 중위, 후위 순회 |
간선의 수 | 간선의 개수는 자유 - 없을 수도 O | N개의 노드를 가진 트리 = 항상 N-1 개의 간선을 가짐 |
경로 | 임의의 두 노드 간의 경로는 유일 | |
예시 및 종류 | 지도, 지하철 노선도의 최단 경로 전기 회로의 소자들 선수 과목(?) |
이진 트리 이진 탐색 트리 균형 트리(Red-Black 트리) 이진 힙 |
참고
- https://rays-space.tistory.com/22
- https://gusrb3164.github.io/computer-science/2021/04/16/graph,tree/
'etc.' 카테고리의 다른 글
[DB] 프로그래머스 MySQL 입양 시각 구하기(1) (0) | 2022.05.13 |
---|---|
[Network] VoIP OpenSource 종류 별 기능 (0) | 2022.02.22 |
[Network] VoIP 서비스 및 IETF SIP 기술 동향, VoIP Open Source (0) | 2022.02.17 |