tree4 ๋ฐฑ์ค - [BOJ 22856] ํธ๋ฆฌ ์ํ ๋ฌธ์ ๋ ธ๋๊ฐ N๊ฐ์ธ ์ด์ง ํธ๋ฆฌ๊ฐ ์๋ค. ํธ๋ฆฌ๋ฅผ ์ค์ ์ํ์ ์ ์ฌํ๊ฒ ์ํํ๋ ค๊ณ ํ๋ค. ์ด๋ฅผ ์ ์ฌ ์ค์ ์ํ๋ผ๊ณ ํ์.์ํ์ ์์์ ํธ๋ฆฌ์ ๋ฃจํธ์ด๊ณ ์ํ์ ๋์ ์ค์ ์ํํ ๋ ๋ง์ง๋ง ๋ ธ๋์ด๋ค. ์ด๋ ๋ฃจํธ ๋ ธ๋๋ ํญ์ 1๋ฒ ๋ ธ๋์ด๋ค.์ ์ฌ ์ค์ ์ํ๋ ๋ฃจํธ ๋ ธ๋์์ ์์ํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ด ์งํ๋๋ค.ํ์ฌ ์์นํ ๋ ธ๋์ ์ผ์ชฝ ์์ ๋ ธ๋๊ฐ ์กด์ฌํ๊ณ ์์ง ๋ฐฉ๋ฌธํ์ง ์์๋ค๋ฉด, ์ผ์ชฝ ์์ ๋ ธ๋๋ก ์ด๋ํ๋ค.๊ทธ๋ ์ง ์๊ณ ํ์ฌ ์์นํ ๋ ธ๋์ ์ค๋ฅธ์ชฝ ์์ ๋ ธ๋๊ฐ ์กด์ฌํ๊ณ ์์ง ๋ฐฉ๋ฌธํ์ง ์์๋ค๋ฉด, ์ค๋ฅธ์ชฝ ์์ ๋ ธ๋๋ก ์ด๋ํ๋ค.๊ทธ๋ ์ง ์๊ณ ํ์ฌ ๋ ธ๋๊ฐ ์ ์ฌ ์ค์ ์ํ์ ๋์ด๋ผ๋ฉด, ์ ์ฌ ์ค์ ์ํ๋ฅผ ์ข ๋ฃํ๋ค.๊ทธ๋ ์ง ์๊ณ ๋ถ๋ชจ ๋ ธ๋๊ฐ ์กด์ฌํ๋ค๋ฉด, ๋ถ๋ชจ ๋ ธ๋๋ก ์ด๋ํ๋ค.์ ์ฌ ์ค์ ์ํ๋ฅผ ์ข ๋ฃํ ๋๊น์ง 1 ~ 4๋ฅผ ๋ฐ๋ณตํ๋ค.์ ๊ทธ๋ฆผ์ ์.. 2024. 7. 8. [Java] Binary Tree Binary Tree๋ ํธ๋ฆฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋น์ ํ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค.์์ ํฌ์คํ ์์ BST(Binary Search Tree)์ ๋ํด์ ์ค๋ช ํ๋๋ฐ BST๋ ์ด์ง ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐํ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ Binary Tree๋ฅผ ์ฌ์ฉํ ๊น?Tree Post์์๋ ์ค๋ช ํ๋๋ฐ ์ผ๋ฐ DAG์ ๊ฐ์ Tree๋ ํจ์จ์ฑ ์ธก๋ฉด์์ ๋๋ฌด ๋ถ์กฑํ๋ค. ๊ทธ์ Graph์ ๋ค๋ฆ์ด ์๋ค.๊ทธ๋์ ์ค์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ํด Binary Tree๋ก ํจ์จ์ฑ์ ๊ทน๋ํํ๋ ๋ฐฉ๋ฒ์ ์ฑํํ ๊ฒ์ด๋ค. ํฌ๊ฒ Binary Tree์ ๋ ์ข ๋ฅ๋ฅผ ์์๋ณด์. 1. ์์ ์ด์ง ํธ๋ฆฌ2. ํธํฅ ํธ๋ฆฌ ์ด ์ธ์๋ ๋ง์ง๋ง Binary Tree์ ํต์ฌ์ ์ค๋ช ํ๊ธฐ์ ๋ ๊ฐ์ง๊ฐ ์ต๊ณ ์ธ ๊ฒ ๊ฐ๋ค. ์ ๋๊ฐ์ง ๊ฐ๋ ์ ์ธ๊ธํ ์ด์ ๋ BST์ ๋ฌธ์ ์ ๋๋ฌธ์ด๋ค.์์ ์์ฑํ B.. 2024. 7. 8. [Java] Binary Search Tree ์ ํฌ์คํ ์์ ์์ฑํ Tree์ ๋นํจ์จ์ ์ธ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์๊ธด ์ด์ง ํ์ ํธ๋ฆฌ๋ค.ํธ๋ฆฌ๋ ์ฌ๋ฌ ์์์ ๊ฐ์ง ์ ์์ง๋ง ์ด์ง ๊ฒ์ ํธ๋ฆฌ์์๋ Binary Tree์ ๊ฐ๋ ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์์์์ด Left, Right๋ง ์กด์ฌํ๋ค. ์ด๋ฅผ ํตํด Log_2 (N) ๋ฒ๋ง์ ๋ชจ๋ ์ํ์ ๋๋ผ ์ ์๋ค. ๋, inorder๋ฅผ ์ํ ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค. package com.study.datastructrue.nonlinear.binarysearchtree;public class Node { int value; Node left; Node right; public Node(int value) { this.value = value; left = null;.. 2024. 7. 8. [Java] Tree ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ์ ์ข ๋ฅ : Tree, Binary Tree, Binary Serach Tree, Balanced Binary Serach Tree, Heap, Trie์ด๋ฒ ํฌ์คํธ์์๋ ๊ธฐ๋ณธ์ ์ธ Tree์ ๋ํด์๋ง ์์ฑํด๋ณด์. Tree๋ ? Node์ Edge๋ก ๊ตฌ์ฑ๋ ๋ฐฉํฅ์ด ์กด์ฌํ๋ ๋น์ํ Graph์ ํ ์ข ๋ฅ์ด๋ค. ๊ทธ๋์ DAG(Directed Acyclic Graphs)๋ผ๊ณ ๋ ํ๋ค.๊ทธ๋ผ Graph๋ก ๋ถ๋ฅํ๋ฉด ๋์ง ์ Tree๋๋ ์์ฌ์ ํ๊ฒ ๋๋ค.Tree๋ Graph์์ ๋ช๊ฐ์ง ํน์ฑ์ ๋ ๊ฐ์ง๋ค. 1. ๋ฃจํธ ๋ ธ๋๊ฐ ํ๋ ์กด์ฌํ๋ค.2. ๋ถ๋ชจ ๋ ธ๋๋ ํ๋๋ฐ์ ์กด์ฌํ์ง ์๋๋ค.3. ๋ ธ๋๋ 0๊ฐ ์ด์์ ์์์ ๊ฐ์ง๊ณ ์๋ค.4. ์์์ด 0๊ฐ์ธ ๊ฒฝ์ฐ ๋จ๋ง๋ ธ๋(Leaf Node)๋ผ๊ณ ํ๋ค.5.. ์ ํน์ฑ์ ์งํค๋ .. 2024. 7. 7. ์ด์ 1 ๋ค์