그래프는 여러 노드(Node)들이 여러 간선(Edge)에 의해 연결되어 있는 구조를 말한다. 그래프는 실제 세계의 여러 문제 상황을 모델링하기 위해 사용되며, 컴퓨터 과학 및 여러 응용 분야에서 널리 활용되고 있다.
그 외에 참고할 만한 용어는 다음과 같다.
△ 단순 경로 그래프
△ 비연결 그래프
△ 비순환 그래프
△ 완전 그래프
그래프 | 트리 | |
---|---|---|
정의 | 노드와 노드를 연결하는 간선으로 표현되는 자료 구조 | 그래프의 한 종류, 방향성이 있는 비순환 그래프 |
방향성 | 방향 그래프, 무방향 그래프 둘다 존재함 | 보통 방향성을 가지며, 루트 노드에서 다른 노드들로 방향성을 가진다. |
사이클 | 사이클 가능함, 순환 및 비순환 그래프 모두 존재함 | 비순환 그래프로 사이클이 존재하지 않음 |
루트 노드 | 루트 노드 존재하지 않음 | 루트 노드 존재함 |
부모/자식 관계 | 부모 자식 개념이 존재하지 않음 | 부모 자식 관계가 존재함 |
간선의 수 | 제한 없음 | 'n'개의 노드가 있을 때, 'n-1'개의 간선이 있다. |
사용하는 곳 | 네트워크 모델링, 경로 찾기 등 다양한 분야에서 사용된다. | 계층적 데이터를 표현할 때 사용된다. 예를 들면, 파일 시스템, DOM(Document Object Model) 구조 등에서 사용된다. |