๐ข 4. Trees and Graphs
๐ซง ํธ๋ฆฌ
- : ํ๋์ ๋ฃจํธ ์ฝ๋๋ฅผ ๊ฐ์ง๋ค
๋ฃจํธ ๋ ธ๋๋ 0๊ฐ ์ด์์ ์์ ๋ ธ๋๋ฅผ ๊ฐ๊ณ ์๋ค
ํธ๋ฆฌ์๋ ์ฌ์ดํด ์กด์ฌํ ์ ์๋ค
๋ ธ๋๋ค์ ํน์ ์์๋ก ๋์ด๋ ์๋ ์๊ณ ๊ทธ๋ด ์ ์์ ์๋ ์๋ค
๊ฐ ๋ ธ๋๋ ์ด๋ค ์๋ฃํ์ผ๋ก๋ ํํ์ด ๊ฐ๋ฅํ๋ค
๋ ธ๋(node) | ํธ๋ฆฌ์ ๊ตฌ์ฑ์์์ ํด๋นํ๋ A, B, C, D, E, F์ ๊ฐ์ ์์ |
---|---|
๊ฐ์ (edge) | ๋ ธ๋์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ ์ฐ๊ฒฐ์ |
๋ฃจํธ ๋ ธ๋(root node) | ํธ๋ฆฌ ๊ตฌ์กฐ์์ ์ต์์์ ์กด์ฌํ๋ A์ ๊ฐ์ ๋ ธ๋ |
๋จ๋ง ๋ ธ๋(terminal node, leaf node) | ์๋๋ก ๋ ๋ค๋ฅธ ๋ ธ๋๊ฐ ์ฐ๊ฒฐ๋์ด ์์ง ์์ E, F, C, D์ ๊ฐ์ ๋ ธ๋ |
๋ด๋ถ ๋ ธ๋(internal node),๋น ๋จ๋ง ๋ ธ๋(non-terminal node) | ๋จ๋ง ๋ ธ๋๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ ธ๋๋ก A, B์ ๊ฐ์ ๋ ธ๋ |
๋๊ทธ๋ฆฌ(degree,์ฐจ์) | ๊ฐ ๋ ธ๋์์ ๋ป์ด๋์จ ๊ฐ์ง์ ์ A=3, B=2 |
ํธ๋ฆฌ์ ๋๊ทธ๋ฆฌ | ๋ ธ๋๋ค์ ๋๊ทธ๋ฆฌ ์ค์์ ๊ฐ์ฅ ๋ง์ ์ A๊ฐ 3๊ฐ์ ๋๊ทธ๋ฆฌ๋ฅผ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ํธ๋ฆฌ์ ๋๊ทธ๋ฆฌ๋ 3์ด๋ค. |
๋ถ๋ชจ ๋ ธ๋(parent node) | ์ด๋ค ๋ ธ๋์ ์ฐ๊ฒฐ๋ ์ด์ ๋ ๋ฒจ์ ๋ ธ๋ E,F์ ๋ถ๋ชจ๋ ธ๋๋ B |
ํ์ ๋ ธ๋(brother node) | ๋์ผํ ๋ถ๋ชจ๋ฅผ ๊ฐ๋ ๋ ธ๋๋ค E์ ํ์ ๋ ธ๋๋ F |
๋ ๋ฒจ(level),๊น์ด | ํธ๋ฆฌ์์์ ๊ฐ ์ธต๋ณ๋ก ์ซ์๋ก ๋งค๊ฒจ์ ์ด๋ฅผ ํธ๋ฆฌ์ โ๋ ๋ฒจโ์ด๋ผ ํ๋ค. ์ด ํธ๋ฆฌ์ ๋ ๋ฒจ(๊น์ด)๋ 3์ด๋ค. |
---|---|
๋์ด(height) | ํธ๋ฆฌ์ ์ต๊ณ ๋ ๋ฒจ์ ๊ฐ๋ฆฌ์ผ โ๋์ดโ๋ผ ํ๋ค. |
๐ซง BFS ๋ ธํธ
- level order (BFS, ํ๋ฅผ ์ฌ์ฉํ์ฌ)
- ์๊ฐ ๋ณต์ก๋: O(n)
- ๊ณต๊ฐ ๋ณต์ก๋: ์ต๊ณ : O(1) ์ต์ : O(n/2)=O(n)
๐ซง DFS ๋ ธํธ
- ์๊ฐ ๋ณต์ก๋: O(n)
- ๊ณต๊ฐ ๋ณต์ก๋: ์ต๊ณ : O(log n) - ํ๊ท ์ ์ผ๋ก, ํธ๋ฆฌ์ ๋์ด์ด๋ค. ์ต์ : O(n)
- ์ค์(inorder) (DFS: ์ผ์ชฝ, ์์ , ์ค๋ฅธ์ชฝ)
- ํ์(postorder) (DFS: ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ์์ )
- ์ ์(preorder) (DFS: ์์ , ์ผ์ชฝ, ์ค๋ฅธ์ชฝ)
This post is licensed under CC BY 4.0 by the author.