그래프 (Graph)

그래프는 정점(Vertex)과 간선(Edge)으로 구성된 데이터 구조.
정점은 객체를 나타내고, 간선은 정점 간의 관계를 나타냄.
그래프는 유향 그래프(Directed Graph)와 무향 그래프(Undirected Graph)로 나눌 수 있음.

특징
정점과 간선: 그래프는 여러 개의 정점과 그 정점들을 연결하는 간선으로 구성됨.
비순환성: 그래프는 사이클이 있을 수도 있고, 없을 수도 있음.
유연한 구조: 정점과 간선의 개수에 제한이 없어서 복잡한 관계를 표현할 수 있음.


트리 (Tree)

트리는 특정한 형태의 그래프.
트리는 계층적 구조를 가지며, 루트 노드(Root Node)에서 시작하여 자식 노드(Child Node)로 분기됨.
트리는 사이클이 없고, 모든 노드가 하나의 루트 노드에 연결되어 있음.

특징
계층 구조: 상위 노드와 하위 노드 간의 계층적 관계를 가짐.
사이클 없음: 트리는 사이클이 없어서 한 경로로만 접근할 수 있음.
정점과 간선: 트리는 V개의 정점을 가지고 E = V - 1개의 간선을 가짐.


그래프와 트리의 차이점

특성 그래프 (Graph) 트리 (Tree)
구조 정점과 간선으로 구성됨 계층적 구조로 구성됨
사이클 여부 사이클이 있을 수도 있음 사이클이 없음
연결성 정점 간의 관계가 자유로움 모든 노드는 하나의 루트에 연결됨
간선 수 E = V + k (k는 간선의 수) E = V - 1
특수한 형태 다양한 형태를 가질 수 있음 그래프의 특수한 형태임