그래프는 노드와 엣지의 정보를 포함고 있는 객체
노드와 엣지는 행렬을 이용한 방식으로 표현 가능
행렬은 프로그래밍 언어에서의 배열을 이용하여 구현 가능
(노드의 정보와 엣지의 정보를 가지는 배열을 정의할 수 있어야!)
그래프는 방향이 있을 수도 있고, 없을 수도 있다 (Directed / Undirected)
(트리는 Directed Graph)
방향 그래프에는 self edge, 즉 자기 자신을 가르키는 그래프도 있다.
하나 이상의 서클이 있으면 Cyclic, 그렇지마으면 Acyclic 그래프!

그래프를 표현 하는 방법 (아래 두 가지 방법)
adjacency matrix
- 2차원 배열로 표현
adjacency list
- 배열에 노드를 나열하고 linked list로 표현하는 방법
- edge가 m개 일 때, 노드는 2m개 생성
공부에 도움이 된 자료
https://gmlwjd9405.github.io/2018/08/13/data-structure-graph.html