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

앙금빵·2021년 6월 16일
0
post-thumbnail

1. 그래프(Graph) 란?

G=(V,E) where V=Vertex,E=EdgeG=(V,E) where V=Vertex, E=Edge 로 정의

V(G)V(G) (노드 또는 정점, 공백이 아닌 유한집합)

E(G)E(G) (상이한 두 Vertex(정점)를 잇는 Edge(간선), 유한집합)


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

Undirected Graph (무향 그래프)

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

Directed Graph (유향 그래프)

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

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

  • Edge(간선)을 최대한으로 가진 그래프
  • 그래프 최대 Edge 수
    정점이 n개인 무방향 그래프에서 최대 간선 수: C(n,2)=n(n1)/2C(n,2)=n(n-1)/2
    정점이 n개인 방향 그래프에서 최대 간선 수: P(n,2)=n(n1)P(n,2)=n(n-1)

https://blog.kakaocdn.net/dn/b66OoJ/btqFeDEzk9P/DAsiVFOZv8C09qCyKUkmkK/img.png

G5의 Edge(간선) 수:

Vertex(정점)의 개수: 4개 & 무방향 그래프
완전 그래프가 되기 위한 Edge(간선) 수: C(4,2)=4(41)/2=6C(4,2)=4(4-1)/2=6

G6의 Edge(간선) 수:

Vertex(정점) 개수:4개고 & 방향 그래프
완전 그래프가 되기 위한 Edge(간선) 수: P(4,2)=4(41)=12P(4,2)=4(4-1)=12개


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

무방향 그래프의 한 간선 (Vi,Vk)(V_i, V_k)에 대하여

  • VjV_jVkV_k 는 서로 인접한다.
  • Edge(간선) (Vj,Vk)(V_j, V_k)은 Vertex(정점) VjV_jVkV_k에 부속한다.

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

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

(a) VVV' ⊆ VEEE' ⊆ E

(b) 모든 간선  εEε∈ E' 에 대하여  εεvv'ww'에 부속된다면 v,wVv', w' ∈V'

1-5. 사이클(cycle)

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

아래 그림은 무방향 그래프와 방향 그래프에서 사이클을 나타낸 것이다.
그림의 a 그래프는 정점 V0,V1,V2,V0V_0, V_1, V_2, V_0이 사이클이며 그림 b 그래프는 정점 V0,V1V_0, V_1이 사이클이다.


참조

profile
Cloud 관련 개인 공부 지식들을 기록하는 공간입니다.

0개의 댓글