๋ฐ์ํ
๐ ์ค๋ ํ ์ผ
โ๏ธ Graph, Tree, Binary Search Tree ๋ฉ์๋ ์์ฑํด๋ณด๊ธฐ
์ค๋๋ ํ์ด๋ถ๊ณผ Graph, Tree, Binary Search Tree ์๋ฃ๊ตฌ์กฐ๋ค์ ๋ฉ์๋๋ค์ ์ฝ๋๋ก ์์ฑํด๋ดค๋ค. ์ธ ๊ฐ์ง ๊ตฌ์กฐ ๋ชจ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ธ๋(node)๋ผ๊ณ ํ๋ ์์๋ค๊ณผ ๋ ธ๋์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฐ์ (edge)์ผ๋ก ๊ตฌ์ฑ๋๊ธฐ ๋๋ฌธ์ ๋น์ทํ ๋๋์ด ์์๋ค. ๊ทธ๋ํ ์๋ฃ๊ตฌ์กฐ๋ ๋ฐฉํฅ์ฑ์ด ์กด์ฌํ์ง ์๋ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ๋ฅผ ๊ธฐ์ค์ผ๋ก ํด์ ๋น๊ต์ ์ฝ๊ฒ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ์๋ฐ, ์ด์ง ๊ฒ์ ํธ๋ฆฌ๋ ์์๋ ๋ฐฉํฅ์ด ์ ํด์ ธ ์์ด์ ๊ฐ์ฅ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ ธ๋ค. ๊ทธ๋๋ ๋ฌด์๋ณด๋ค ๊ตฌ์กฐ์ ์ฌ๊ท๋ฅผ ์ฌ์ฉํ์ด์ผ ํ๋๋ฐ, ์ฌ๊ท๊ฐ ์คํ๋๋ ๋ชจ์ต์ด ์กฐ๊ธ์ฉ ๋จธ๋ฆฌ์์ ์์์ด ๋๊ธฐ ์์ํ๋ค๋๊ฒ ์ ์ผ ๊ธฐ๋ปค๋ค..ใ ใ
โ๏ธ ์๋ฃ๊ตฌ์กฐ ๋ธ๋ก๊น
์ด์ ๊ณต๋ถํ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ถํฐ ํด์ ํ ์ด๋ธ, ๊ทธ๋ฆฌ๊ณ ์ค๋ ๋ฐฐ์ด ๊ทธ๋ํ, ํธ๋ฆฌ, ์ด์ง ํธ๋ฆฌ์ ๊ด๋ จ๋ ๊ฐ๋ ๋ค์ ์ ๋ฆฌํ๊ณ ๋ธ๋ก๊น ๊น์ง ๋ง์ณค๋ค. ์ฌ์ค ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์์ ๊ทธ๋ ๊ฒ ๋ง์ด ์ธ ์ผ์ด ์์ ๊ฒ ๊ฐ์์ ์๊ธฐ ์ ์ ๊ผญ ์ ๋ฆฌํด๋ฌ์ผ ํ ๊ฒ ๊ฐ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ์ ๋ฆฌํ๋ฉด์ ๋๋์ ์ ๊ฐ ์๋ฃ๊ตฌ์กฐ์ ์ฐจ์ด์ ๊ณผ ์๊ฐ๋ณต์ก๋๋ฅผ ์ ๋๋ก ์๊ณ ์์ด์ผ๊ฒ ๋ค๋ ๊ฒ์ด์๋ค. + ์ด๋์ ์ค์ ๋ก ์ฌ์ฉ๋๊ณ ์๋์ง.. ์ด ๋ถ๋ถ์ ๋ํด์๋ ๋ด์ผ ์๊ฐ๋ณต์ก๋์ ๋ํด ์ข ๋ ๊ณต๋ถํ๊ณ ์ ํํ ๋ด์ฉ์ ์ถ๊ฐํด๋์ด์ผ๊ฒ ๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ hasOwnProperty : ๊ฐ์ฒด์ ์์ฑ์ ํ์ธํ๋ ๋ฉ์๋
โ๏ธ ํธ๋ฆฌ ์ํ ๋ฐฉ์
์ ์ ์ํ(Preorder Traversal): ๋ถ๋ชจ → ์ข → ์ฐ
์ค์ ์ํ(Inorder Traversal): ์ข → ๋ถ๋ชจ → ์ฐ
ํ์ ์ํ(Postorder Traversal): ์ข → ์ฐ → ๋ถ๋ชจ
โ๏ธ ๊ทธ๋ํ vs ํธ๋ฆฌ
๊ทธ๋ํ(Graph) : ์ ์ ๋ ธ๋๊ฐ ๊ด๊ณ๋ฅผ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐํ ์๋ฃ๊ตฌ์กฐ(๋คํธ์ํฌ ๋ชจ๋ธ)
ํธ๋ฆฌ(Tree) : ๋ ธ๋๋ค์ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐํ ๊ณ์ธตํ ์๋ฃ๊ตฌ์กฐ(๊ณ์ธต ๋ชจ๋ธ)
โ๏ธ ์ธ์ ๋ฆฌ์คํธ vs ์ธ์ ํ๋ ฌ
์ธ์ ๋ฆฌ์คํธ : ๊ฐ์ ์ด ์ ์ ๋ ์ฃผ๋ก ์ฌ์ฉ!
์ธ์ ๋ฐฐ์ด : ๊ฐ์ ์ด ๋ง์ ๋ ์ฃผ๋ก ์ฌ์ฉ!
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ ์๋ฃ๊ตฌ์กฐ๋ณ ์๊ฐ ๋ณต์ก๋
โ๏ธ ์๋ฃ๊ตฌ์กฐ๋ณ ์ค์ ์ฌ์ฉ ์ฌ๋ก
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210123_TIL (0) | 2021.01.24 |
---|---|
210122_TIL (์๊ฐ๋ณต์ก๋, ์๋ฃ๊ตฌ์กฐ ๋ณต์ต) (0) | 2021.01.23 |
210120_TIL (์๋ฃ๊ตฌ์กฐ - ํด์ํ ์ด๋ธ, ๊ทธ๋ํ) (0) | 2021.01.21 |
210119_TIL (์๋ฃ๊ตฌ์กฐ - ์คํ, ํ, ์ฐ๊ฒฐ๋ฆฌ์คํธ) (0) | 2021.01.20 |
210118_TIL (ํฌ์ผ๋ชฌ๊ฒ์ Javascript ์์ฑ) (0) | 2021.01.19 |
๋๊ธ