[C++][์๋ฃ๊ตฌ์กฐ] Binary Tree(์ด์งํธ๋ฆฌ)๋ ? ๊ตฌํ๋ฒ์ ?
*Binary Search Tree(์ด์ง ํ์ ํธ๋ฆฌ)
: ์ด์ง ํ์์ด ๋์ํ ์ ์๋๋ก ๊ณ ์๋ ์๋ฃ๊ตฌ์กฐ.
: ๋ชจ๋ key๊ฐ์ ์ ์ผํ๊ณ , ๊ฐ์ ํฌ๊ธฐ๋ '์ผ์ชฝ์์ ๋ ธ๋ < ๋ถ๋ชจ ๋ ธ๋ < ์ค๋ฅด์ชฝ ์์ ๋ ธ๋' ์์ ๊ฐ์ง.
*์ด์ง ํธ๋ฆฌ์ ์
๊ฐ์ ํฌ๊ธฐ๋ฅผ ์ผ์ชฝ์์ ๋ ธ๋ < ๋ถ๋ชจ ๋ ธ๋ < ์ค๋ฅด์ชฝ ์์ ๋ ธ๋ ์์ผ๋ก ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ํธ๋ฆฌ๋ ์ด์งํธ๋ฆฌ์ด๋ค.
*์ด์ง ํ์ ํธ๋ฆฌ ๋ฐฉ๋ฒ
30์ ์ฐพ๋๋ค๊ณ ๊ฐ์ ํด๋ณด์.
1) ๋ฃจํธ๋ ธ๋์ธ 20๋ถํฐ ํ์ํ๋ค.
2) 30์ 20๋ณด๋ค ํฐ ์์ด๋ฏ๋ก ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ๋ฅผ ํ์ํ๋ค.
3) 23๋ณด๋ค 30์ด ํฐ ์์ด๋ฏ๋ก 23์ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ๋ฅผ ํ์ํ๋ค.
4) 30 ์ฐพ์ !
: ๊ธฐ์กด์ ๋ชจ๋ ๋ ธ๋๋ฅผ ํ์ํด์ผํ๋ค๋ฉด, ์ด์ง ํธ๋ฆฌ์ด๊ธฐ์ ํ์์ ๋ฐ์ผ๋ก ์ค์ฌ๊ฐ๋ฉฐ ํ์ํ ์ ์๋ค.
but, ์์๋ ธ๋๋ค์ด ํ์ชฝ์ผ๋ก ๋ชจ๋ ํธํฅ๋์ด ์๋ ์ด์ง ํธ๋ฆฌ๋ผ๋ฉด ๋ ธ๋ ์ ๋ถ๋ฅผ ํ์ํด์ผ ํ๋ฏ๋ก O(n)์ ์๊ฐ๋ณต์ก๋๊ฐ ๋์จ๋ค.(์๋ ์ฌ์ง ์ฐธ๊ณ )
*์ด์งํธ๋ฆฌ ํ์/์ฝ์ /์ญ์ c++์ฝ๋
https://ansohxxn.github.io/algorithm/bst/