BST
๐ค BST(Binary Search Tree, ์ด์ง ํ์ ํธ๋ฆฌ)์ด๋?โ

- ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉด์, ์ด์ง ํ์ํ๊ธฐ ์ฝ๊ฒ ์ง์ฌ์ ธ ์๋ ํธ๋ฆฌ์ ๋๋ค.
- ํด๋น Node๋ก๋ถํฐ ์ผ์ชฝ Subtree์ ๋ชจ๋ Node๋ ํด๋น Node๋ณด๋ค ์์ ๊ฐ์ด๋ฉฐ, ์ค๋ฅธ์ชฝ Subtree์ ๋ชจ๋ Node๋ ํด๋น Node๋ณด๋ค ํฐ ๊ฐ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
ํน์งโ
๋ชจ๋ Node์ Children์ ์ต๋ 2๊ฐ์ ๋๋ค. (์ผ์ชฝ ์๋๋ฉด ์ค๋ฅธ์ชฝ)
๋ชจ๋ Tree๊ฐ ๊ท ํ ์ํ์ผ ๋ (๋ชจ๋ Node์ ์์์ด 2๊ฐ์ด๊ฑฐ๋ ์๋ค๋ฉด) ์๊ฐ๋ณต์ก๋๋ O(logN)์ ๋๋ค.
๊ทธ๋ ์ง ์๋ค๋ฉด, ์ต๋ O(N)์ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
๊ฐ์ ์ฐพ์ ๋, Binary Search๋ฅผ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค.
๐ค BST์ ์ญ์ , ์ฝ์ , ํ์ ๊ณผ์ โ
ํ์(Search)
- Root Node์์ ์์ํด Binary Search ๊ณผ์ ์ ์งํํฉ๋๋ค.
์ฝ์ (Insert)
- Root Node์์ ์์ํด Binary Search ๊ณผ์ ์ ์งํํฉ๋๋ค.
- Leaf Node๊น์ง ๋๋ฌ ํ Binary Search๋ฅผ ํตํด ๊ฐ์ ๋ฐ๋ผ ์์น๋ฅผ ์ ํ ํ Node๋ฅผ ์ถ๊ฐํฉ๋๋ค.
์ญ์ (Deletion)
๋งจ ๋ง์ง๋ง Leaf Node๊ฐ ์๋ ์ค๊ฐ Node๋ฅผ ์ง์์ผ ํ๋ค๋ฉด, ์ง์ธ Node์ Children์ ์ด์ฉํด์ผ ํฉ๋๋ค.
Leaf Node์ผ ๋
- ๊ฐ์ ์ง์ฐ๊ณ ๋ถ๋ชจ์๊ฒ Null ๊ฐ์ returnํฉ๋๋ค.
Internal Node์ผ ๋

๊ฐ์ฅ ๊ฐ๊น์ด Successor(์์)์ ์ฐพ๊ณ , ์ง์ฐ๋ ค๋ Node์ ๊ทธ ์์์ ๊ฐ์ ๋ณต์ฌํฉ๋๋ค.
Successor๋ right Subtree์ ์ต์๊ฐ์ ๋๋ค.
๊ทธ ์์์ Data๋ฅผ ์ญ์ ํฉ๋๋ค.