# 그래프는 사물을 노드(정점)와 간선으로 표현하기 위해서 만들어 져 있다. 
# Node == Vertex(정점) 
# Edge == 간선

# 정점의 차수 Degree : 무방향 그래프에서 하나의 정점에 인접한 정점의 수
# 진입 차수 In-Degree : 화살표를 받는 (수동의) 방향그래프 외부에서 오는 간선의 수
# 진출 차수 Out-Degree :  화살표를 가르키는 (능동의) 방향그래프 외부를 향하는 간선의 수
# 경로 길이 Path-Length : 경로를 구성하기 위해서 사용된 Edge(간선)의 수
# 단순 경로 Simple-Path : 처음과 끝의 점을 제외하고 중복 된 정점이 없는 경로 
# 사이클 : 단순 경로의 시작점점과 종료정점이 동일한 경우

# 무방향 그래프 : 엣지에 방향이 없음 , 엣지를 통해 노드는 양방향으로 갈 수 있음, (A,B) (B,A)로 표기
# 방향 그래프 : 엣지에 방향이 있음, 단방향, <A,B>일 시 A->B 
# 가중치 그래프(네트워크) : 엣지에 비용 또는 가중치가 할당 된 그래프

# 연결 그래프 : 무방향 그래프에 모든 노드에 대하여 항상 경로가 존재함
# 비연결 그래프 : 무방향 그래프에 특정 노드에 대해 경로 존재 안함

# 사이클 : 단순 경로의 시작 노드와 종료 노드가 동일한 경우
# 비순환 그래프 : 사이클이 없는 그래프 (사이클의 반대)


# 완전 그래프 : 그래프의 모든 노드들이 간선으로 연결 되어 있는 경우

# 무방향, 방향, 가중치 그래프만 눈여겨 보면 됨


# 그래프 
# 정의 : 노드와 노드를 연결하는 간선으로 표현되는 자료구조
# 방향성 : 방향,무방향 존재
# 사이클 : 사이클이 가능, 순환,비순환 그래프 모두 존재
# 루트 노드 : 루트 노드 없음
# 부모자식 관계 : 일반적으로 존재 안함

# 트리
# 정의 : 그래프의 한 종류, 방향성이 있는 비순환 그래프(시작 노드와 종료노드가 없음, 한바퀴 돌지 않음)
# 방향성 : 방향 그래프만
# 사이클 : 비순환 그래프로 사이클 존재 안함
# 루트 노드 : 루트 노드 있음
# 부모자식 관계 : 존재함

