์๋ฐ ์๊ณ ๋ฆฌ์ฆ3 [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. ๋ฐฑ์ค - [BOJ 1865] ์ํ ๋ฌธ์ ๋๋ 2020๋ , ๋ฐฑ์ค์ด๋ ์๋๋๋ผ์ ํ ๊ตญ๋ฏผ์ด๋ค. ์๋๋๋ผ์๋ N๊ฐ์ ์ง์ ์ด ์๊ณ N๊ฐ์ ์ง์ ์ฌ์ด์๋ M๊ฐ์ ๋๋ก์ W๊ฐ์ ์ํ์ด ์๋ค. (๋จ ๋๋ก๋ ๋ฐฉํฅ์ด ์์ผ๋ฉฐ ์ํ์ ๋ฐฉํฅ์ด ์๋ค.) ์ํ์ ์์ ์์น์์ ๋์ฐฉ ์์น๋ก ๊ฐ๋ ํ๋์ ๊ฒฝ๋ก์ธ๋ฐ, ํน์ดํ๊ฒ๋ ๋์ฐฉ์ ํ๊ฒ ๋๋ฉด ์์์ ํ์์ ๋๋ณด๋ค ์๊ฐ์ด ๋ค๋ก ๊ฐ๊ฒ ๋๋ค. ์ํ ๋ด์์๋ ์๊ณ๊ฐ ๊ฑฐ๊พธ๋ก ๊ฐ๋ค๊ณ ์๊ฐํ์ฌ๋ ์ข๋ค.์๊ฐ ์ฌํ์ ๋งค์ฐ ์ข์ํ๋ ๋ฐฑ์ค์ด๋ ํ ๊ฐ์ง ๊ถ๊ธ์ฆ์ ๋น ์ก๋ค. ํ ์ง์ ์์ ์ถ๋ฐ์ ํ์ฌ์ ์๊ฐ์ฌํ์ ํ๊ธฐ ์์ํ์ฌ ๋ค์ ์ถ๋ฐ์ ํ์๋ ์์น๋ก ๋์์์ ๋, ์ถ๋ฐ์ ํ์์ ๋๋ณด๋ค ์๊ฐ์ด ๋๋์๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋์ง ์๋์ง ๊ถ๊ธํด์ก๋ค. ์ฌ๋ฌ๋ถ์ ๋ฐฑ์ค์ด๋ฅผ ๋์ ์ด๋ฐ ์ผ์ด ๊ฐ๋ฅํ์ง ๋ถ๊ฐ๋ฅํ์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ๋ผ.์ ๋ ฅ์ฒซ ๋ฒ์งธ ์ค์๋.. 2024. 7. 6. ์ด์ 1 ๋ค์