그래프(Graph)란 인터넷, 도로, 운송, 전력, 상하수도망, 신경망, 화학성분 결합 등 광범위한 분야에서 활동되는 자료구조입니다. 연결된 정점 간 관계를 표현할 수 있습니다. 모든 정점이 서로 연결된 완전 그래프는 정점이 N개일 경우 간선의 수는 n(n-1)/2개입니다. 가중치(Weighted) 그래프는 간선에 값이 있어 이동 비용이 발생합니다. 가중치는 실제 두 정점 사이의 거리가 될 수도 있고, 두 정점을 연결하는 간선을 지나는 데에 소요되는 시간일 수도 있습니다. 응용에 따라 가중치가 음수인 경우도 존재합니다. 최소 신장 트리(Minimum Spannig Tree)를 찾기 위한 알고리즘과 다양한 최단 경로를 찾는 알고리즘에 활용할 수 있습니다. 그래프는 정점(Vertex)과 간선(Edge)의 집..