jnyblog
์๋ฃ๊ตฌ์กฐ(๊ทธ๋ํ) ๋ณธ๋ฌธ
๐ค ๊ทธ๋ํ๋?
์ ๊ณผ ์ (์ ์ ๊ณผ ๊ฐ์ )์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ๋ฅผ ์๋ฏธํ๋ค.
์ด๋ ๊ฐ ์ ์ธ ์ ์ (vertex)๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋
ธ๋๋ฅผ ์๋ฏธํ๋ค. ์ ์ธ ๊ฐ์ (edge)๋ ๊ฐ ์ ์ ์ ์ฐ๊ฒฐํ๋ ์ ์ด๋ฉฐ ์ด๋ ์ด๊ฒ์ ๋งํฌ, ๋ธ๋์น๋ผ๊ณ ๋ ํ๋ค. ๊ทธ๋ํ๋ ๊ฐ ๊ฐ์ ์ด ๋ฐฉํฅ์ด ์๋ ๋ฐฉํฅ๊ทธ๋ํ์ ๋ฐฉํฅ์ด ์๋ ๋ฌด๋ฐฉํฅ๊ทธ๋ํ๊ฐ ์๋ค.
๋ฐฉํฅ๊ทธ๋ํ(Directed Graph)
์ ์ ๊ณผ ์ด๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฐ์ ์ฌ์ด์ ๋ฐฉํฅ์ด ์ผ๋ จ์ ์์๋ก ์ ํด์ ธ ์๋ ๊ทธ๋ํ๋ฅผ ์๋ฏธํ๋ค.
1) ๊ฐ ์ ์ ์ ๊ณ ์ ํ ๊ฐ์ ์ ๊ฐ์ง๋ค
2) ์ ์ ์ฌ์ด๋ฅผ ์๋ ๊ฐ์ ์ ๋ฐฉํฅ์ด ํฅํ๋ ๊ณณ์ ๋ฐ๋ผ ๋ฐฉํฅ์ฑ์ ๊ฐ์ง๋ค
vertex | edge |
S,V,U,A,B | S->V, V->U, U->B, B->V, V->A, A->S |
๋ฌด๋ฐฉํฅ๊ทธ๋ํ(UnDirected Graph)
์ ์ ๊ณผ ์ด๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฐ์ ์ฌ์ด์ ๋ฐฉํฅ์ด ์ผ๋ จ์ ์์๋ก ์ ํด์ ธ ์๋ ๊ทธ๋ํ๋ฅผ ์๋ฏธํ๋ค.
1) ๊ฐ ์ ์ ์ ๊ณ ์ ํ ๊ฐ์ ์ ๊ฐ์ง๋ค
2) ์ ์ ์ฌ์ด๋ฅผ ์๋ ๊ฐ์ ์ ๋ฐฉํฅ์ด ํฅํ๋ ๊ณณ์ ๋ฐ๋ผ ๋ฐฉํฅ์ฑ์ ๊ฐ์ง๋ค
vertex | edge |
S,V,U,A,B | non Direct |
๐ค ๊ทธ ์ธ์๋ ๋ค์ํ ๊ทธ๋ํ๋ค์ด ์๋ค.
1) ๊ฐ์ค๊ทธ๋ํ : ๋
ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฐ๊ฐ์ ๊ฐ์ ์ ๊ฐ์ค์น(์ซ์)๊ฐ ๋ถ์ฌ๋ ๊ทธ๋ํ๋ฅผ ๋งํ๋ค. ์ด๊ฒ์ ํ ์ ์ ์์ ๋ค๋ฅธ ์ ์ ์ผ๋ก ์ด๋ํ๋ ์ด๋๋น์ฉ์ ๋ปํ๋ค.
2) ์๋ฐฉํฅ๊ทธ๋ํ : ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์ ๋น์ทํ๋ฉฐ ๋ฐฉํฅ์ด ์ง์ ๋์ง ์์ ๊ฐ์ ์ด ๋ ์ฌ์ด์ ์ ์ ์ ์ฐ๊ฒฐ๋ ํํ๋ฅผ ๋งํ๋ค. ๋ค๋ง ๋ ์ ์ ์
์ฅ์์ ๊ฐ์ฅ์๋ฆฌ๋ ๋๊ฐ์ด๋ค.
3) ๋ฌดํ๊ทธ๋ํ : ๋ฌดํ๊ทธ๋ํ์ ๊ฒฝ์ฐ ๋ฌดํํ ์์ ๋
ธ๋์ ๋ชจ์๋ฆฌ๋ฅผ ๊ฐ์ง๋ค.
4) ๋ ๊ทธ๋ํ : ๊ฐ์ ์ด ์กด์ฌํ์ง ์๊ณ ์ ์ ๋ง ์กด์ฌํ๋ฉฐ ์ด๋ G = (V,E)์ผ๋ ๋ ๊ทธ๋ํ๋ G = (N, null)์ ์๋ฏธํ๋ค.
5) ๊ฐ๋จํ ๊ทธ๋ํ : ๋
ธ๋๊ฐ ๋จ ํ๋๋ง ์กด์ฌํ๋ ๊ทธ๋ํ์ด๋ค.
6) ๋ฉํฐ ๊ทธ๋ํ : ๋ ์ ์ ์ฌ์ด์ ์ฐ๊ฒฐ๋ ๊ฐ์ ์ด ํ๋๊ฐ ์๋ ์ฌ๋ฌ๊ฐ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ์ ๊ทธ๋ํ๋ฅผ ๋งํ๋ค. ๋ํ ์ ์ ์ด ์๊ธฐ ์์ ์ ์ง์ ๊ฐ๋ฅดํค๋ ์์ฒด ๋ฃจํ๊ฐ ์์ ์๋ ์๋ค.
7) ์์ ํ ๊ทธ๋ํ : ๊ฐ ๋
ธ๋(์ ์ )๊ฐ ๋ค๋ฅธ ๋
ธ๋๋ค๊ณผ ๋ชจ๋ ๊ฐ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ํํ์ ๊ทธ๋ํ๋ฅผ ๋งํ๋ค.
8) ์ฐ๊ฒฐ๋ ๊ทธ๋ํ : ๊ฐ ๋
ธ๋๋ ์ ์ ์์ ์์ํด ์์๋
ธ๋์์ ๋ชจ๋ ๋
ธ๋๋ฅผ ์ด๋ํ ์ ์๋ ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ์ ๊ทธ๋ํ๋ฅผ ๋งํ๋ค.
9) ์ํ ๊ทธ๋ํ : ๊ฐ ์ ์ ๊ฐ ๋ชจ๋ ์ํ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ๊ทธ๋ํ๋ฅผ ๋งํ๋ค.
10) ๋ฐฉํฅ์ฑ ๋น์ํ ๊ทธ๋ํ : 9๋ฒ ์ํ ๊ทธ๋ํ์ ๋ค๋ฅด๊ฒ ๊ฐ ์ ์ ์ฌ์ด์์ ์ํ์ด ํ๋๋ผ๋ ์์ ๊ฒฝ์ฐ ๋ฐฉํฅ์ฑ ๋น์ํ ๊ทธ๋ํ๋ผ๊ณ ํ๋ค.
11) ์ฌ์ดํด ๊ทธ๋ํ : ์ํ๊ทธ๋ํ์ ๋ค๋ฅด๊ฒ ๊ฐ ์ ์ ์ด ์๋ค ๋๊ฐ๋ง์ ์ฐ๊ฒฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ ๊ทธ๋ํ์ด๋ค. ์ํ ์ฐ๊ฒฐ๊ณผ ๊ฐ์ด ๊ฐ ์ ์ ์ ์ ๊ธฐ์ค์ผ๋ก ๋ ๊ฐ์ ๊ฐ์ฅ์๋ฆฌ๋ง์ด ์ฐ๊ฒฐ๋ ๊ทธ๋ํ์ด๋ค!
12) ์ด๋ถ ๊ทธ๋ํ : ๊ฐ ์ ์ ์ด ๋๊ฐ์ง์ ๋ถ๋ฅ๋ก ๋๋ ์ ธ ์์ ์ด๋ฃจ๋ฏ ์ด๋ถํ์ฌ ์ฐ๊ฒฐ๋ ๊ทธ๋ํ๋ฅผ ๋งํ๋ค. ์ข์ ์ <-> ์ฐ์ ์ ๋ณ๋ก ๊ฐ ์ฐ๊ฒฐ๋ ๊ทธ๋ํ์ด๋ค.
13) ์ค์ผ๋ฌ ๊ทธ๋ํ : ๋ชจ๋ ์ ์ ์ด ์ง์์ธ ์ฐจ์๋ฅผ ๋ง์กฑํ๋ ๊ฒฝ์ฐ ์ด๋ ์ค์ผ๋ฌ ๊ทธ๋ํ๋ผ๊ณ ํ ์ ์๋ค.
14) ํด๋ฐํด ๊ทธ๋ํ : ๋๊ฐ์ ์ ์ ์ ์ฌ๋ฐฉ๋ฌธํ๊ฑฐ๋ ๋๊ฐ์ ๊ฐ์ ์ ๋ค์ ์ฌ์ฉํ์ง ์๊ณ ์ ์ฃผ์ด์ง ๋ชจ๋ ์ ์ ์ ๋ฐฉ๋ฌธ ๊ฐ๋ฅํ ์ฐ๊ฒฐ ๊ทธ๋ํ์ด๋ค. ์ด๋ ์ด๊ฒ์ ํด๋ฐํด ๊ฒฝ๋ก๋ผ๊ณ ํ๋ฉฐ ํด๋ฐํด ๊ฒฝ๋ก์ ์ ๋ฌด๋ฅผ ๊ฐ์ง๊ณ ํด๋ฐํด ๊ทธ๋ํ์ธ์ง ์๋์ง ํ์ธ ๊ฐ๋ฅ!