์๊ณ ๋ฆฌ์ฆ(Algorithm) ๊ฐ์ & ์๋ฃ๊ตฌ์กฐ
์๊ณ ๋ฆฌ์ฆ์ ํ์์ฑ
์๊ณ ๋ฆฌ์ฆ์ ์ ํ์ํ๊ฐ?

์๊ณ ๋ฆฌ์ฆ์ ๋ฌด์์ธ๊ฐ?

์๋ฃ๊ตฌ์กฐ(Data Structure)

- ์๋ฃ๊ตฌ์กฐ๋ผ ํจ์ ์ปดํจํฐ ๊ธฐ์ต๊ณต๊ฐ ๋ด์ ์๋ฃ๋ฅผ ํํํ๊ณ ์กฐ์งํํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค. ๋ฌธ์ ์ ๋ง๋ ์ ์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ํํด์ผ๋ง ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์๋ฃ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค.
- ๊ฒฐ๊ตญ, ์ข์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ ค๋ฉด ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ด ์ ์ ํ ์กฐํ๋ฅผ ์ด๋ฃจ์ด์ผ ํ๋ค.
์ ํ๊ตฌ์กฐ(Linear)์ ๋น์ ํ ๊ตฌ์กฐ(Non-Linear)

- ์ ํ๊ตฌ์กฐ๋ ์๋ฃ๋ฅผ ์์ฐจ์ ์ผ๋ก ๋์ด์ํจ ํํ
- ํ๋์ ์๋ฃ ๋ค์ ํ๋์ ์๋ฃ๊ฐ ์กด์ฌ
- ์๋ฃ ๊ฐ์ ์๋ค ๊ด๊ณ๊ฐ 1:1

- ๋น์ ํ ๊ตฌ์กฐ๋ ํ๋์ ์๋ฃ ๋ค์ ์ฌ๋ฌ ๊ฐ์ ์๋ฃ๊ฐ ์กด์ฌ
- ์๋ฃ๋ค ๊ฐ์ ์๋ค ๊ด๊ณ๊ฐ 1:n ๋๋ n:n์ ๊ด๊ณ

์ ํ/๋น์ ํ ์ฌ์ง ์ถ์ฒ: https://allg.tistory.com/29
[์๋ฃ๊ตฌ์กฐ] ์๋ฃ๊ตฌ์กฐ๋?(์ ํ๊ตฌ์กฐ, ๋น์ ํ๊ตฌ์กฐ)
[์๋ฃ๊ตฌ์กฐ] ์๋ฃ๊ตฌ์กฐ๋? 1.์๋ฃ๊ตฌ์กฐ๋? ์๋ฃ๊ตฌ์กฐ(่ณๆๆง้ , ์์ด: data structure)๋ ์ ์ฐํ์์ ์๋ฃ๋ฅผ ํจ์จ์ ์ผ๋ก ์ด์ฉํ ์ ์๋๋ก ์ปดํจํฐ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ ์คํ ์ ํํ ์๋ฃ๊ตฌ์กฐ๋ ๋ณด๋ค
allg.tistory.com
๋ฐฐ์ด(Array)๊ณผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List)
๋ฐฐ์ด(Array)
- ๋ฐฐ์ด์ด๋ ๊ฐ์ ์๋ฃํ์ ๊ฐ๋ ์ฌ๋ฌ ์์(๋ฐ์ดํฐ)๋ฅผ ํ๋์ ๋ณ์ ์ด๋ฆ์ผ๋ก ๋ชจ์ ๋์ ๋ฐ์ดํฐ์ ์งํฉ์ด๋ค. ๋ฐฐ์ด์ ์ธ๋ฑ์ค(index), ์์ ๊ฐ(value) ์์ ์งํฉ์ผ๋ก, ํ๋์ ์ธ๋ฑ์ค๊ฐ ์ฃผ์ด์ง๋ฉด ์ด์ ์ฐ๊ด๋ ์์ ๊ฐ์ด ๊ฒฐ์ ๋๋ ๋์ ๊ด๊ณ๋ฅผ ๊ฐ๋๋ค.
- ๋ฐฐ์ด ํํ์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋ฐ์ดํฐ์ ๋ ผ๋ฆฌ์ ์์์ ์ ์ฅ๋ ๋ฌผ๋ฆฌ์ ์์๊ฐ ๊ฐ๋ค๋ ๊ฒ์ด๋ค.
- ์ฅ์
- ํํ์ด ๊ฐ๋จํ๋ค.
- ์์์ ๋ฐ๋ฅธ ์์ฐจ์ ๋ฐ์ดํฐ ์ ๊ทผ์ด ์๋๋ผ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ์ฌ ๋น ๋ฅธ ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
- ๋จ์
- ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ์ ์ ์ด๋ค.
- ๋ฐ์ดํฐ ์ฝ์ /์ญ์ ๊ณผ์ ์ด ๋นํจ์จ์ ์ด๋ค.(๋ฐ์ดํฐ๋ค์ด ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋๊ธฐ์, ๋ฐ์ดํฐ์ ์ฝ์ ๊ณผ ์ญ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ ์๊ฐ์ ์ธ ์ค๋ฒํค๋(Overhead)๊ฐ ๋ฐ์ํ๋ค)
- ์ค๋ฒํค๋(Overhead): ์ด๋ค ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ํด ๋ค์ด๊ฐ๋ ๊ฐ์ ์ ์ธ ์ฒ๋ฆฌ ์ฌ๊ฐ, ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ ์ผ์ปฌ์.
- ๋ฐ์ดํฐ ์ฌ์ ๋ ฌ ๋ฐฉ์์ด ๋นํจ์จ์ ์ด๋ค. (๋ฐ์ดํฐ์ ๋ ผ๋ฆฌ์ ์์์ ๋์ผํ๊ฒ ๋ฌผ๋ฆฌ์ ์์๋ฅผ ์ ์งํ๊ธฐ ์ํด์ ๋ฐ์ดํฐ๊ฐ ์ฝ์ /์ญ์ ๊ฐ ์ํ๋๋ ์์น ์ดํ์ ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ ์๋ฆฌ์ฉ ๋ค๋ ์์ผ๋ก ์ด๋์์ผ์ผ ํ๋ค)
- ๋ฐฐ์ด์ ํฌ๊ธฐ ๋๋ถ๋ถ์ ์ ์ ์ผ๋ก ๊ฒฐ์ ๋๊ธฐ์ ์ฝ์ ๊ณผ ์ญ์ ๊ฐ ๋์ ์ผ๋ก ๋ฐ์ํ๋ ์ํฉ์์ ์ ์ ํ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฒฐ์ ํ๋ ๊ฒ์ด ์ด๋ ต๊ณ , ์ด๋ก ์ธํด ์ค๋ฒํ๋ก(Overflow)๋ ์ ์ฅ๊ณต๊ฐ์ ๋ญ๋น๋ฅผ ์ด๋ํ ์ ์๋ค.

์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List)
- ๋ฐฐ์ด์ ๋ฌธ์ ์ ์ ๋ณด์ํ ํํ์ ์๋ฃ๊ตฌ์กฐ
- ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ต์ฅ์น์ ์ด๋ ๊ณณ์ ์ ์ฅํด๋ ๋์ง๋ง, ๊ธฐ์ต ์ฅ์น์ ์์ ์์น์ ์ ์ฅ๋ ๋ฐ์ดํฐ ๊ฐ์ ๋ ผ๋ฆฌ์ ์ธ ์์๋ฅผ ์ ์งํ๋ ๊ฒ์ด ํ์ํ๋ค.
- ํ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ค์ ๋ฐ์ดํฐ๊ฐ ์ด๋์ ์ ์ฅ๋์ด ์๋์ง๋ฅผ ํจ๊ป ๋ํ๋ด์ผ ํ๋ค. ์ด๋ฅผ ์ํด ๋ฐ์ดํฐ ํ๋์ ๋งํฌ ํ๋๋ก ์ด๋ฃจ์ด์ง ๋ ธ๋๋ผ๋ ์ ์ฅ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ๋ค.
- ๋ ธ๋๋ ์ฐธ์กฐ ์์คํ ์ผ๋ก ์๋๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๊ฐ ๋ ธ๋์ ์ ์ฅํ ๋ ๋ค์ ์์ ์ ์๋ฃ๊ฐ ์๋ ์์น๋ฅผ ๋ฐ์ดํฐ์ ํฌํจ์ํจ๋ค. ์ด๋ ๊ฒ ๊ฐ ๋ ธ๋๋ค์ ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ค.
- ์ฅ์
- ์๋ก์ด ๋ฐ์ดํฐ๋ค์ ์ฝ์ /์ญ์ ๊ฐ ์ฉ์ดํ๊ณ ํจ์จ์ ์ด๋ค.
- ๋ ผ๋ฆฌ์ ์์์ ๋ฌผ๋ฆฌ์ ์์๋ฅผ ๋ฐ๋์ ์ผ์น์ํฌ ํ์ ์๋ค.
- ์๋ก์ด ๋ฐ์ดํฐ ์ฝ์ /์ญ์ ์ ๋ฐฐ์ด์ฒ๋ผ ๊ตฌ์กฐ์ ์ฌ๊ตฌ์ฑ์ด ํ์ ์๋ค.
- ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ๋์ ์ด๋ค.
- ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ ํฉํ๋ค.
- ๋จ์
- ๋ฐฐ์ด๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋ง๋ค.
- ํน์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋๋ฐ ๋นํจ์จ์ ์ด๋ค.(ํน์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ฐฐ์ด์ ์ธ๋ฑ์ค ๊ฐ๋ง์ผ๋ก ๋ฐ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ์ง๋ง, ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ๋ ธ๋๋ถํฐ ์์ํด ์ํ๋ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ ธ๋๊น์ง ๋ชจ๋ ๋ ธ๋๋ฅผ ์ฐพ์์ผ ํ๋ค.)

๋ฐฐ์ด๊ณผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ข ๋ฅ

- ๋ฐฐ์ด์ ์ธ๋ฑ์ค ๊ฐ์์ ๋ฐ๋ผ 1์ฐจ์ ๋ฐฐ์ด๊ณผ ๋ค์ฐจ์ ๋ฐฐ์ด(2์ฐจ์, 3์ฐจ์ ๋ฐฐ์ด)๋ก ๋๋๋ค.
- ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ๋จ๋ฐฉํฅ์ผ๋ก ์์ง์ธ๋ค.
- ํ๋์ ๋งํฌ ํ๋๋ฅผ ๊ฐ๊ณ ์๋ค.
- ๋จ์ผ ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ๋จ๋ฐฉํฅ์ผ๋ก ์์ง์ธ๋ค.
- ํ๋์ ๋งํฌ ํ๋๋ฅผ ๊ฐ๊ณ ์๋ค.
- ๋ง์ง๋ง ๋ ธ๋์ ์ฒซ ๋ฒ์งธ ๋ ธ๋๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด์์ด ์ํํ๋ค.
- ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ์๋ฐฉํฅ์ผ๋ก ์์ง์ธ๋ค.
- ๋ ๊ฐ์ ๋งํฌ ํ๋๋ฅผ ๊ฐ๊ณ ์๊ธฐ์, ์ ํ ๋ ธ๋์ ํํ ๋ ธ๋ ์ ๋ถ ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
- ์ ํ ๋ ธ๋์ ์ง์ ์ ์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
- ์ด์ค ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ์๋ฐฉํฅ์ผ๋ก ์์ง์ธ๋ค.
- ๋ ๊ฐ์ ๋งํฌ ํ๋๋ฅผ ๊ฐ๊ณ ์๊ธฐ์, ์ ํ ๋ ธ๋์ ํํ ๋ ธ๋ ์ ๋ถ ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
- ์ ํ ๋ ธ๋์ ์ง์ ์ ์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
- ๋ง์ง๋ง ๋ ธ๋์ ์ฒซ ๋ฒ์งธ ๋ ธ๋๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด์์ด ์ํํ๋ค.
์คํ(Stack)๊ณผ ํ(Queue)

์คํ(Stack)
- ์คํ์ ์ ํ ๋ฆฌ์คํธ์ ํ์ชฝ์์๋ง ๋ฐ์ดํฐ์ ์ฝ์ ๊ณผ ์ญ์ ๊ฐ ๋ฐ์ํ๋ ์๋ฃ๊ตฌ์กฐ
- ์คํ์ ๊ฐ์ฅ ๋์ค์ ์ฝ์ ๋ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋จผ์ ์ญ์ ๋๊ธฐ ๋๋ฌธ์ ํ์ ์ ์ถ(LIFO, Last In First Out) ๋ฆฌ์คํธ๋ผ๊ณ ๋ ์ผ์ปซ๋๋ค.
- ์ฝ์ ์ฐ์ฐ์ push, ์ญ์ ์ฐ์ฐ์ pop์ ์ฌ์ฉํ๋ค.

ํ(Queue)
- ํ๋ ์ ํ ๋ฆฌ์คํธ์ ํ์ชฝ ๋์์๋ ๋ฐ์ดํฐ์ ์ฝ์ ๋ง ์ํ๋๊ณ ๋ค๋ฅธ ํ์ชฝ ๋์์๋ ๋ฐ์ดํฐ์ ์ญ์ ๋ง ์ํ๋๋ ์๋ฃ๊ตฌ์กฐ
- ํ๋ ๊ฐ์ฅ ๋จผ์ ์ฝ์ ๋ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ์ญ์ ๋๋ฏ๋ก ์ ์ ์ ์ถ(FIFO, First In First Out) ๋ฆฌ์คํธ๋ผ๊ณ ๋ ์ผ์ปซ๋๋ค.

ํธ๋ฆฌ(Tree)
- ํธ๋ฆฌ๋ ๋ ธ๋(node)๊ฐ ๊ฐ์ (edge)์ผ๋ก ์ฐ๊ฒฐ๋์ด ๊ณ์ธต์ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๋ ๋น์ ํ ์๋ฃ๊ตฌ์กฐ


- A, B, C, D ๋ฑ ํธ๋ฆฌ์ ๊ตฌ์ฑ์์๊ฐ ๋ ธ๋(node)
- ํธ๋ฆฌ ๊ตฌ์กฐ ์ต์์์ ์กด์ฌํ๋ ๋ ธ๋๋ ๋ฃจํธ(root) ๋ ธ๋
- ๋ฃจํธ ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก, ๋ค๋ฅธ ๋ ธ๋๋ก ์ ๊ทผํ๊ธฐ ์ํ ๊ฒ์ด ๊น์ด(depth)
- ๊ฐ์ ๋ถ๋ชจ๋ฅผ ๊ฐ์ง๋ฉด์ ๊ฐ์ depth์ ์กด์ฌํ๋ ๋ ธ๋๋ค์ ํ์ (sibling) ๋ ธ๋๋ก ์ผ์ปซ๋๋ค.
- ๋ฃจํธ๋ ธ๋ A์ B, C, D๋ ๋ถ๋ชจ(parent) ์์(child) ๊ด๊ณ์ด๋ค.
- ๋ ธ๋์ ๋ ธ๋๋ฅผ ์๋ ์ ์ด ๊ฐ์ (edge)
- ๋ ธ๋์ ์๋ธ ํธ๋ฆฌ ๊ฐ์๋ฅผ ์ฐจ์(degree). A์ ๋ ธ๋ ์ฐจ์๋ 3, C์ ๋ ธ๋ ์ฐจ์๋ 0์ด๋ค. ํธ๋ฆฌ ์ฐจ์๋ ๋ ธ๋์ ์ฐจ์ ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ์ผ์ปซ๋๋ค. ํธ๋ฆฌ์ ์ฐจ์๋ 3์ด๋ค.
- ์ฐจ์๊ฐ 0์ธ ๋ ธ๋๋ฅผ ๋ฆฌํ(leaf) ๋ ธ๋ ํน์ ๋จ๋ง ๋ ธ๋(terminal node)์ด๋ค.
- ์ฒ(forest) ์ด๋ ์๋ธ ํธ๋ฆฌ์ ์งํฉ์ผ๋ก ํธ๋ฆฌ์์ ๋ฃจํธ ๋ ธ๋๋ฅผ ์ ๊ฑฐํ๋ฉด ์ฒ์ด ๋๋ค.
์ด์ง ํธ๋ฆฌ(Binary Tree)
- ์ด์ง ํธ๋ฆฌ๋ ๊ฐ๊ฐ์ ๋ ธ๋๊ฐ ์ต๋ ๋ ๊ฐ์ ์์ ๋ ธ๋๋ฅผ ๊ฐ์ง๋ ์ฆ, ๊ฐ ๋ ธ๋์ ์ฐจ์๊ฐ 2 ์ดํ์ธ ์์ ํธ๋ฆฌ

- ๊ณต๋ฐฑ๋ ์ด์ง ํธ๋ฆฌ๋ก ํฌํจํ๋ค.
- ์ด์ง ํธ๋ฆฌ๋ ์์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๊ธฐ์ 5๋ฒ์งธ, 6๋ฒ์งธ ํธ๋ฆฌ๋ ์๋ก ๋ค๋ฅธ ํธ๋ฆฌ์ด๋ค.



๊ทธ๋ํ(Graph)
- ๊ทธ๋ํ๋ G=(V, E)๋ ๋ํ์ผ๋ก ํํ๋๋ ๋น์ ํ ์๋ฃ๊ตฌ์กฐ
- G=๊ทธ๋ํ(Graph), V=์ ์ , ๋ ธ๋(Vertex, Node), E=๊ฐ์ (Edge)
- ์ฐ๊ฒฐํ ๊ฐ์ฒด๋ฅผ ๋ํ๋ด๋ ์ ์ ์ ์งํฉ V์ ์ ์ ์ ์ฐ๊ฒฐํ๋ ๊ฐ์ ์ ์งํฉ E๋ก ๊ตฌ์ฑ๋๋ค.
- ๊ทธ๋ํ๋ ๊ฐ์ ์ ๋ฐฉํฅ์ฑ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ(Undirected Graph)์ ๋ฐฉํฅ ๊ทธ๋ํ(Directed Graph)๋ก ๊ตฌ๋ถ๋๋ค.
- ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ๋ ๊ฐ์ ์ ๋ํ๋ด๋ ๋ ์ ์ ์ ์์ ์์๊ฐ ์์ผ๋ฉฐ, ์ ์ u์์ ์ ์ v์ฌ์ด์ ๊ฐ์ ์ (u, v) ๋๋ (v, u)๋ก ํ์ํ๋ค.
- ๋ฐฉํฅ ๊ทธ๋ํ๋ ์ ์ u์์ ์ ์ v๋ก์ ๊ฐ์ ์ <u, v>๋ก ํ์ํ๋ฉฐ, ์ด๋ u๋ ๊ผฌ๋ฆฌ์ด๊ณ v๋ ๋จธ๋ฆฌ๋ผ๊ณ ํ๋ค.
- ๊ฐ์ ์ ๋น์ฉ์ด๋ ์๊ฐ๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ๋ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ ๊ทธ๋ํ๋ฅผ ๊ฐ์ค ๊ทธ๋ํ(Weighted Graph)๋ผ๊ณ ํ๋ค.


- ์ธ์ (adjacent), ๋ถ์(incident): ๋ ์ ์ u, v ์ฌ์ด์ ๊ฐ์ ์ด ์์ผ๋ฉด u์ v๋ ์ธ์ ํ๋ค๊ณ ํ๋ฉฐ, ํด๋น ๊ฐ์ ์ ์ ์ u, v์ ๋ถ์๋์๋ค๊ณ ํ๋ค.
- ๊ฒฝ๋ก(path): ๊ทธ๋ํ G์์ ์ ์ v1๋ก๋ถํฐ ์ ์ vn๊น์ง์ ๊ฒฝ๋ก๋ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ์ ์ ์ ์์ ๋ฆฌ์คํธ๋ฅผ ๋งํ๋ฉฐ, ๊ฒฝ๋ก์ ์กด์ฌํ๋ ๊ฐ์ ์ ๊ฐ์๋ฅผ ๊ธธ์ด(length)๋ผ๊ณ ํ๋ค.
- ์ฐจ์(degree): ํด๋น ์ ์ ์ ๋ถ์๋ ๊ฐ์ ์ ์๋ฅผ ์๋ฏธ. ๋ฐฉํฅ ๊ทธ๋ํ์์๋ ์ฐจ์๋ฅผ ์ธ๋ถํํ์ฌ ์ ์ ์ผ๋ก ๋ค์ด์ค๋ ๊ฐ์ ์ ์๋ฅผ ์ง์ ์ฐจ์(in-degree)๋ผ๊ณ ํ๊ณ , ๊ทธ ์ ์ ์์ ๋๊ฐ๋ ๊ฐ์ ์ ์๋ฅผ ์ง์ถ ์ฐจ์(out-degree)๋ผ๊ณ ํ๋ค.
- ๋จ์ ๊ฒฝ๋ก(simple path): ํ ๊ฒฝ๋ก์์์ ์ฒ์๊ณผ ๋ง์ง๋ง ์ ์ ์ ์ ์ธํ ๋ชจ๋ ์ ์ ์ด ์๋ก ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ๋งํ๋ค.
- ์ฌ์ดํด(cycle): ์ฒ์๊ณผ ๋ง์ง๋ง ์ ์ ์ด ๊ฐ์ ๋จ์ ๊ฒฝ๋ก๋ฅผ ๋งํ๋ฉฐ, ํนํ ์ฌ์ดํด์ด๋ฉด์ ๊ฒฝ๋ก์ ๊ธธ์ด๊ฐ 1์ธ ๊ฒฝ๋ก๋ฅผ ๋ฃจํ(loop)๋ผ๊ณ ํ๋ค.

๋ณธ ๊ธ์ ํ๊ตญ๋ฐฉ์กํต์ ๋ํ๊ต ์๋ฃ์ ๊ฐ์ธ ๊ณต๋ถ๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
'๐ฅ CS > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2022.07.16 |
|---|---|
| [Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์? (0) | 2022.07.15 |
| [Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด (0) | 2022.07.15 |
| [Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - 2016๋ (0) | 2022.07.15 |
| [Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - ์๋ฆฟ์ ๋ํ๊ธฐ (0) | 2022.07.15 |