Computer Science/Database

[자료구조] 그래프 개념 - (1)

[앙금빵] 2022. 1. 9.

1. 그래프(Graph) 란?

 로 정의

= 노드 또는 정점, 공백이 아닌 유한집합
E(G) = 상이한 두 Vertex(정점)를 잇는 Edge(간선), 유한집합

 

1-1. 무향 그래프, 유향 그래프

Undirected Graph (무향 그래프)

  • 물리학에서 정의하는 '속력' 과 같은 개념
  • Edge를 표현하는 Vertex의 쌍에서 방향(순서) 가 없는 그래프
  • 두 Vertec V0 와 V1을 잇는 Edge는 '( )' 로 표현
  • (V0, V1) , (V1, V0) 는 같은 Edge를 나타낸다.
    (i.e )

Directed Graph (유향 그래프)

  • Edge를 표현하는 Vertex의 쌍에서 방향(순서) 가 있는 그래프
    -
     두 Vertex V0와 V1을 잇는 Edge는 '< >' 로 표현
  • 물리학에서 정의하는 '속도' 와 같은 개념
  • <V0, V1> , <V1, V0> 는 서로 다른 Edge를 나타낸다.
    (i.e )

 

1-2. 완전 그래프 (Complete graph)

  • Edge(간선)을 최대한으로 가진 그래프
  • 그래프 최대 Edge 수
    정점이 n개인 무방향 그래프에서 최대 간선 수: 
    정점이 n개인 방향 그래프에서 최대 간선 수: 

[G5의 Edge(간선) 수]

Vertex(정점)의 개수: 4개 & 무방향 그래프
완전 그래프가 되기 위한 Edge(간선) 수: 

 

[G6의 Edge(간선) 수]

Vertex(정점) 개수:4개고 & 방향 그래프
완전 그래프가 되기 위한 Edge(간선) 수: 

 

1-3. 인접(Adjacent)과 부속(Incident)

무방향 그래프의 한 간선 에 대하여

  •   는 서로 인접한다.
  • Edge(간선) 은 Vertex(정점)  에 부속한다.

 

1-4. 부분 그래프 (Sub Graph)

G =(V,E) 를 그래프를 나타내는 함수라고 하자. 다음과 같을때 (V', E')를 G의 부분 그래프(SubGraph)라 한다.

(a)   

(b) 모든 간선   에 대하여     에 부속된다면 

 

1-5. 사이클(cycle)

  • 첫 번째 지점과 마지막 정점이 동일한 단순 경로
  • 무방향 그래프에서 Cycle의 길이는 항상 3 이상이고, 방향 그래프에서 Cycle의 길이는 항상 2 이상이다.
  • 이러한 Cycle이 없는 그래프를 DAG(Directed Acyclic Graph)라고 한다.

아래 그림은 무방향 그래프와 방향 그래프에서 사이클을 나타낸 것이다.
그림의 a 그래프는 정점 이 사이클이며 그림 b 그래프는 정점 이 사이클이다.

 


참조

댓글