Graph
-
그래프(Graph)
- 노드와 노드간을 연결하는 간선으로 구성된 자료 구조
- 즉, 연결되어 있는 객체 간의 관계를 표현할 수 있는 구조
-
특징
- 그래프는 네트워크 모델이다.
- 노드간에 2개이상의 경로도 가능하다.
- 부모 - 자식 관계라는 개념이 없다.
- 그래프는 순환 혹은 비순환 구조를 이룬다.
- 그래프는 방향성이 있는 그래프와 방향성이 없는 그래프가 있다.
Tree
-
트리(Tree)
- 그래프와 같이 노드와 노드간을 연결하는 간선으로 구성된 이루어진 자료 구조
-
특징
- 그래프의 한 종류이다.
- 방향성이 있으며 사이클이 존재하지 않는다. (비순환 그래프)
- 부모 - 자식 관계라는 개념이 있으며 최상위에 Root노드가 존재한다.
트리와 그래프의 차이점
그래프 | 트리 | |
---|---|---|
정의 | 노드와 그 노드를 연결하는 간선으로 구성된 자료 구조 | 그래프의 한 종류, 방향성이 있는 비순환 그래프 |
방향성 | 방향, 무방향 모두 존재 | 방향 그래프만 존재 |
사이클 | 순환, 비순환 모두 존재, 노드 한개의 자체 순환도 가능 | 비순환 그래프만 존재 |
루트 노드 | 루트 노드의 개념이 없음 | 한 개의 루트 노드만이 존재 |
부모-자식 | 부모-자식의 개념이 없음 | 루트 노드를 제외한 노드는 1개의 부모노드만을 가짐 |
모델 | 네트워크 모델 | 계층 모델 |
순회 | DFS, BFS | DFS, BFS 방식의 전위, 중위, 후위 순회 |
간선의 수 | 간선의 개수는 자유, 없을수도 있음 | N개의 노드를 가진 트리는 항상 N-1개의 간선을 가짐 |
경로 | 임의의 두 노드 간의 경로는 유일 | |
예시 및 종류 | 지도, 지하철 노선도의 최단 경로, 전기 회로의 소자들, 선수 과목 | 이진 트리, 이진 탐색 트리, 균형 트리(Red-Black 트리), 이진 힙 |