์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- ํผํ
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- promise
- sql
- eport
- JS #ํ๋ก์ ํธ
- Porject
- ajax
- webpack
- ๋น๋๊ธฐ
- await
- setTimeout()
- addEventListener
- ๊ฒ์
- mysql
- slow and steady
- Import
- prj
- ์ฐธ๊ณ ๋ธ๋ก๊ทธ
- database
- https://m.blog.naver.com/tt2t2am1118/221010125300
- db
- execCommand
- async
- Project
- object
- json
- callback
- js
- ๋๊ธฐ
- Today
- Total
C-log
๐ฆ Cell Algorithm : Tree ๋ณธ๋ฌธ
์คํ๊ณผ ํ๋ฅผ ๊ณต๋ถํ๋ค๊ฐ Tree๋ก ๋์ด์ค๊ฒ ๋ ์ด์ ๋ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์๋ค์ ์ฒญ๊ฐ๋ง ์ฌ๋ฟ ํด๋ณด๋ค ๋ณด๋ ๊ฒฐ๊ณผ์ ์ผ๋ก ๋๋ฌํ๋ ๊ฐ๋ ๊ณผ ์ค์ ํ๋ก์ ํธ๋ ์ค๋ฌด์์ ๊ฐ์ฅ ํํ๊ฒ ์ ํ๋ ๊ฐ๋ ์ด ๋ฐ๋ก Tree๋ผ๋ ๊ฒ์ ๋๋ผ๊ณ ๋ฅ์ Tree ์๊ณ ๋ฆฌ์ฆ์ ๋จผ์ ํฌ์คํ ํ๊ฒ ๋์๋ค. ๋ฌผ๋ก ๋งํฌ๋ ๋ฆฌ์คํธ์ ๊ฐ์ ๊ฐ๋ ๋ค์ ์์ฐจ์ ์ผ๋ก ๋ฐฐ์๊ฐ๋ฉด ์ข๊ฒ ์ง๋ง ์๊ณ ๋ฆฌ์ฆ์ ํฐ ๊ฐ๋ ๋ถํฐ ์์ ๊ฐ๋ ์ผ๋ก ์ชผ๊ฐ์ง๋ฉด์ ๋ฐฐ์ ๋๊ฐ๋ ๊ฒ์ด ๋์๊ฒ ๋ง๊ฒ ๋ค๋ ์๊ฐ์ด๋ค์ด์ ๊ณต๋ถ ์์๋ฅผ ๋ค์ง์๋ค. Tree๋ฅผ ๊ณต๋ถํ๊ณ ๋๋ฉด BFS์ DFS๋ฅผ ๋ฐฐ์ธ ๊ฒ์ด๋ค.
Tree
ํธ๋ฆฌ๋ ๋ ธ๋์ ์ฃ์ง๋ก ์ฐ๊ฒฐ๋ ๊ทธ๋ํ์ ํน์ํ ํํ๋ก, ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ๋ค. ์ฆ, ๊ทธ๋ํ์ ํํ์ผ๋ก๋ tree๋ฅผ ํํ ํ ์ ์๋ค. (๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ Tree๋ฅผ ์๊ธฐ ์ํด์ ๊ทธ๋ํ๋ฅผ ์์์ผ ํ๋ค.)
ํธ๋ฆฌ์ ํน์ง
- ์ํ ๊ตฌ์กฐ๋ฅผ ์ง๋๊ณ ์์ง ์๊ณ , 1๊ฐ์ ๋ฃจํธ ๋ ธ๋๊ฐ ์กด์ฌํ๋ค.
- ๋ฃจํธ ๋ ธ๋๋ฅผ ์ ์ธํ ๋ ธ๋๋ ๋จ 1๊ฐ์ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๊ฐ๋๋ค.
- ํธ๋ฆฌ์ ๋ถ๋ถ ํธ๋ฆฌ ์ญ์ ํธ๋ฆฌ์ ๋ชจ๋ ํน์ง์ ๋ฐ๋ฅธ๋ค.
- ํธ๋ฆฌ์์ ์์ ๋ ๋ ธ๋๋ฅผ ์ด์ด์ฃผ๋ ๊ฒฝ๋ก๋ ์ ์ผํ๋ค.
ํธ๋ฆฌ์ ๊ตฌ์ฑ ์์
์ฉ์ด | ์ ์ | ์์ |
๋ ธ๋ (node) | ํธ๋ฆฌ์ ๊ตฌ์ฑ ์์. ์์น์ ๋ฐ๋ผ ์ด๋ฆ์ด ์๋ ์์๋ค | F, B, G, A, D, I, C, E, H |
์ฃ์ง (edge) | ๋ ธ๋์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ ์ . ํธ๋ฆฌ์์๋ ๋ถ๋ชจ ๋ ธ๋์ ์์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ ์ | F-B, B-A, B-D, D-C, D-E, F-G, G-I, I-H |
๋ฃจํธ ๋ ธ๋ (root node) | ๋ถ๋ชจ๊ฐ ์๋ ๋ ธ๋. ๋ฟ๋ฆฌ๋ผ๊ณ ๋ ํ๋ค. | F๋ ๋ฃจํธ ๋ ธ๋ |
์กฐ์ ๋ ธ๋ (ancestor node) | ์ด๋ค ๋ ธ๋๋ณด๋ค ์(๋ฃจํธ์ชฝ)์ ์์นํ ๋ ธ๋(์ฐ๊ฒฐ๋ ์ด์ด์ผ ํจ) | F, B, D๋ E์ ์กฐ์ ๋ ธ๋/G๋ E์ ์กฐ์ ๋ ธ๋๊ฐ ์๋๋ค. |
๋ถ๋ชจ ๋ ธ๋ (parent node) | ์ด๋ค ๋ ธ๋ ๋ฐ๋ก ์(๋ฃจํธ์ชฝ)์ ์ฐ๊ฒฐ๋์ด ์๋ ๋ ธ๋ | F๋ B์ G์ ๋ถ๋ชจ ๋ ธ๋ |
์์ ๋ ธ๋ (child node) | ์ด๋ค ๋ ธ๋ ๋ฐ๋ก ์๋์ ์ฐ๊ฒฐ๋์ด ์๋ ๋ ธ๋ | I๋ G์ ์์ ๋ ธ๋ |
ํ์ ๋ ธ๋ (sibling) | ๊ฐ์ ๋ถ๋ชจ ๋ ธ๋์ ์์๋ค, ์๋งค ๋ ธ๋๋ผ๊ณ ๋ ํ๋ค. | A, D๋ ํ์ ๋ ธ๋ |
ํ์ ๋ ธ๋ (descendant node) | ์กฐ์ ๋ ธ๋์ ๋ฐ๋ - ๋ ธ๋ ๋ณด๋ค ์๋์ ์์นํ ๋ ธ๋ | H๋ F, G, I์ ํ์ ๋ ธ๋ |
๋ฆฌํ ๋ ธ๋ (leaf node) | ์์์ด ์๋ ๋ ธ๋, ์ผ์ข ์ ๊ฐ์ฅ์๋ฆฌ ๋ ธ๋ | C, E, H๋ ๋ฆฌํ ๋ ธ๋ |
๋ด๋ถ ๋ ธ๋ (internal node) | ๋ฆฌํ ๋ ธ๋๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ ธ๋, ์์์ด ์๋ ๋ ธ๋ | F, B, G, A, D, I๋ ๋ด๋ถ ๋ ธ๋ |
์ธ๋ถ ๋ ธ๋ (external node) | ์์์ด ์๋ ๋ ธ๋, ๋ฆฌํ ๋ ธ๋์ ๊ฐ์ ๋ง | C, E, H๋ ์ธ๋ถ ๋ ธ๋ |
์๋ธํธ๋ฆฌ (subtree) | ํน์ ๋ ธ๋์ ๊ทธ ๋ ธ๋์ ๋ชจ๋ ํ์์ผ๋ก ์ด๋ฃจ์ด์ง ํธ๋ฆฌ | B ๋ ธ๋์ ๊ทธ ์์ A, D, C, E๋ก ์ด๋ฃจ์ด์ง ์๋ธํธ๋ฆฌ |
์ฝ๋ฉํ ์คํธ์์์ Tree
- ๊ทธ๋ํ๋ก ํธ๋ tree (tree๋ ๊ธฐ๋ณธ์ ์ผ๋ก Node, Edge)
- ๊ทธ๋ํ : ์ธ์ ๋ฆฌ์คํธ๋ก ํํ
- ํ์ ์๊ณ ๋ฆฌ์ฆ : DFS,BFS
- tree ๋ง์ ์ํ ๋ฌธ์
- ์ด์ง ํธ๋ฆฌ
- ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ&LCA(or index tree / ์ต์ ๊ณตํต ์กฐ์ : ๋์ด๋๊ฐ ๋์ ํธ์ด๋ค.)
- tree ๋ง์ ์ํ ๋ฌธ์ ๋ฅผ 1์ฐจ์ ๋ฐฐ์ด๋ก tree ํํ(์์ ์ด๋ฏธ์ง 1 ์ฐธ์กฐ)
index 0 1 2 3 4 5 6 7 node x A B C D E - - ๋ถ๋ชจ node x x x A B B - - - ๋ถ๋ชจ node๋ก ์ ๊ทผ ๊ณต์ : index/2
- ์์ node๋ก ์ ๊ทผ ๊ณต์ : index * 2 + 1
SUMMARY
- tree๋ ๊ทธ๋ํ๋ฅผ ๊ฐ์ง๊ณ ํ์๋ ์๊ณ DFS,BFS,์ธ์ ๋ฆฌ์คํธ๋ก๋ ํ์ ์์ผ๋ฉฐ 1์ฐจ์ ๋ฐฐ์ด์ ๊ฐ์ง๊ณ ํ ์๋ ์๋ค.
REFERNCE
'๐ง Algorithm > โกver.0' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ข ๋ฅ์ ํน์ง (0) | 2024.06.25 |
---|---|
๐ฆ Cell Algorithm : ์คํ๊ณผ ํ (0) | 2024.02.18 |
๐ฆ โจCell Algorithm : ๊ตฌ๊ฐ์ ํฉ (1) | 2024.02.11 |
๐ฆ Cell Algorithm : ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ (0) | 2024.02.06 |
Cell Algorithm : ๋๋ฒ๊น (0) | 2024.02.06 |