그래프가 방향성을 가지고 있는지의 유무에 따라 directed 와 undirected로 나눌 수 있다.
그래프가 한 쪽 방향(one-way)로 설명될 수 있다면 directed 그래프가 가장 적합하다.
방향성 그래프는 순서가 정해져 있어 마지막 노드(leaf)가 있다.
위 그래프의 리프는 F이다.
한편, 그래프는 양쪽 방향으로도 설명될 수도 있다. (bidirectional)
무방향과 양방향은 사실상 같다고도 볼 수 있다.
무방향성은 방향이 따로 지정되어 있지 않아 양방향성과 같은 특성을 가지고 있기 때문이다.
모든 간선들이 양방향성을 가지고 있다면 무방향성을 가지고 있다고 할 수 있다.
위와 같은 그래프가 무방향성이다.
관계의 목적이 상호 교환이라면 undirected 그래프가 가장 적합하다.
무방향성은 화살표의 방향이 따로 지정되어 있지 않다.
간선으로 연결된 노드들끼리는 서로 인접(adjacent)해있다고하며, 이웃(neighbor)라고 부른다.
순환성을 가지고 있다면 방문한 노드에 다시 방문하는 루프를 형성할 수 있는 순환 그래프이다.
위의 이미지에서 B에서 시작한 다음 가장자리를 따라 C, E, D로 이동한 다음 이미 방문한 노드인 B로 돌아갈 수 있다.
undirected(무방향성) 그래프는 항상 동일한 노드에 재방문할 수 있으므로 순환 그래프이다.
위 그래프처럼 순환을 형성할 수 없는 경우, 비순환 그래프라고 한다.
가중 그래프에는 edge(간선)과 관련된 값이 있다.
각 edge의 가중치에 할당된 특정값을 호출한다.
가중치는 서로 다른 그래프에서 서로 다른 데이터를 나타낸다.
예를들어 도로구간을 나타내는 그래프에서 가중치는 도로 길이나 평균 속도 등으로 나타낼 수 있다.
그래프에서 경로의 총 가중치가 높을수록 경로이동시간(비용)이 길어진다.
가중치는 모든 경로 비교 시 어떤 경로를 선택할 지에 사용된다.
순회는 그래프에 연결된 노드를 탐색한다.
여기에서 중요한 것은 아직 방문하지 않은 노드의 순회 순서이다.
순회개념은 향후 배우게 되는 DFS, BFS와 같은 순회 알고리즘과 연관되어 있다.