이건우
노드(Node)와 노드 사이에 연결된 간선(Edge)의 정보를 가지고 있는 자료구조
를 의미한다.
서로 다른 개체(객체)가 연결되어있다. → 그래프 알고리즘
ex1) 여러 개의 도시가 도로로 연결되어 있다 ex2) N개의 집을 방문하려는데, 도로로 연결되어 있다 ex3) 축제로 가는 최단 경로를 찾는데 각 마을마다 도로로 연결되어 있다
<aside> 💡 그래프를 탐색하면서 보통 알고리즘 문제를 해결하게 됨. 그래프 탐색? → 하나의 node로 부터 시작해 차례대로 모든 node들을 한 번씩 방문
</aside>
??????? 순환 그래프, 완전 그래프, 정규 그래프, 가중 그래프
방향성이 있는 비순환 그래프 → 트리
메모리와 시간을 염두에 두고 알고리즘을 선택, 구현하는 것이 중요. ex) 최단 경로 문제를 만났을 때, 노드의 개수가 적다면 인접 행렬, 노드와 간선 개수가 많으면 인접 리스트