
[์๋ฃ๊ตฌ์กฐ]Java - Binary Search Tree(์ด์ง ํ์ํธ๋ฆฌ) ๊ฐ๋
+ ๊ตฌํ
ยท
Algorithm/KBro Study
Binary Search Tree๋? Binary(์ด์ง) Search(ํ์) Tree(ํธ๋ฆฌ)๊ฐ ํฉ์ณ์ง ๊ฒ์ผ๋ก, ์ฆ, ์ด๋ถํ๋ ํ์์ ์ํ(ํน์ ํนํ๋) ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ๋ผ๋ ๋ป์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ํธ๋ฆฌ๊ฐ ๋ฌด์์ผ๊น? ์์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ Tree ๊ตฌ์กฐ๋ผ๊ณ ํ๋๋ฐ, ๊ฑฐ๊พธ๋ก ๋ณด๋ฉด ๋๋ฌด๊ฐ์ด ์๊ฒจ์ ๊ทธ๋ ๊ฒ ๋ถ๋ฅธ๋ค๊ณ ํ๋ค. ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์์์ผ ํ ๊ฒ์ด ์๋๋ฐ, ๊ทธ ๋ถ๋ถ์ ์๋์ ๊ฐ๋ค. ๋ถ๋ชจ ๋
ธ๋(parent node) : ์๊ธฐ ์์ (๋
ธ๋)๊ณผ ์ฐ๊ฒฐ ๋ ๋
ธ๋ ์ค ์์ ๋ณด๋ค ๋์ ๋
ธ๋๋ฅผ ์๋ฏธ (ex. F์ ๋ถ๋ชจ๋
ธ๋ : B) ์์ ๋
ธ๋(child node) : ์๊ธฐ ์์ (๋
ธ๋)๊ณผ ์ฐ๊ฒฐ ๋ ๋
ธ๋ ์ค ์์ ๋ณด๋ค ๋ฎ์ ๋
ธ๋๋ฅผ ์๋ฏธ (ex. C์ ์์๋
ธ๋ : G, H) ๋ฃจํธ ๋
ธ๋ (root node) : ์ผ๋ช
๋ฟ๋ฆฌ ๋
ธ๋๋ผ๊ณ ํ๋ฉฐ ๋ฃจํธ ๋
ธ๋๋..