์ด์ง ํ์ ํธ๋ฆฌ
์ด์ง ํ์ ํธ๋ฆฌ(Binary Search Tree) ๋ผ๋ ๊ฒ๋ ์๋ค. ์ด์ง ํ์์ด๋ ๋ฏธ๋ฆฌ ํฐ ์์ผ๋ก ์ ๋ ฌ๋ ์๋ฃ๊ตฌ์กฐ์์ ๋ฌด์์์ ๋ฐ์ดํฐ๋ฅผ ๋ฝ์ ๊ฒ์ ๋ฐ์ดํฐ์ ๋น๊ตํด, ์๋ค๋ฉด ์ผ์ชฝ ์์ญ์ ๊ฐ์ด๋ฐ ๊ฐ, ํฌ๋ค๋ฉด ์ค๋ฅธ์ชฝ ์์ญ์ ๊ฐ์ด๋ฐ ๊ฐ๊ณผ ๋น๊ตํด๋๊ฐ๋ฉฐ ๊ฒ์ํ๋ ๋ฐฉ์์ด๋ค. ๋ ์์ญ์ผ๋ก ๋๋๋ค๊ณ ํด์ ์ด์ง ๊ฒ์์ด๋ผ๊ณ ํ๋ ๊ฒ ๊ฐ๋ค :).
์ด์งํ์ํธ๋ฆฌ๋ ์ด์ง ํ์์ ์ํ ํธ๋ฆฌ๋ค. ๋ฃจํธ๋ ธ๋๋ฅผ ํฌํจํด์, ๋ถ๋ชจ ๋ ธ๋๊ฐ ์ผ์ชฝ์ ์์ ๊ฐ์ ์์์, ์ค๋ฅธ์ชฝ์๋ ํฐ ๊ฐ์ ์์์ ๊ฐ์ง๋ ๊ตฌ์กฐ๋ค. ๊ฒ์ํ ๋ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๋ณด๊ณ ๋ถ๋ชจ๋ณด๋ค ์์ ๊ฐ์ ์ฐพ๊ณ ์๋ค๋ฉด ์ผ์ชฝ ์๋ธํธ๋ฆฌ๋ฅผ ํ์ํ๊ณ ํฐ ๊ฐ์ ์ฐพ๊ณ ์๋ค๋ฉด ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ๋ฅผ ํ์ํ๋ฉด ๋๋ค. ๊ฐ ๋จ๊ณ๋ง๋ค ํด์ผ๋๋ ์์ ์ด ๋ฐ์ ๋ก ์ค์ด๋๋ O(log n) ์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
์ด์ง ํธ๋ฆฌ๋ ์ผ์ชฝ ์๋ธํธ๋ฆฌ์ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์ ๊ท ํ์ด ๋ง์์ผ ์ฑ๋ฅ์ด ๋ณด์ฅ๋๋ค. ํ์ชฝ์ผ๋ก ๋๋ฌด ์น์ฐ์ณ์ ธ ์์ผ๋ฉด O(n) ์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค... ์ด๋ฐ ์ด์๋ก ์ด์งํธ๋ฆฌ๋ฅผ ๊ท ํ์กํ๊ฒ ํ๋๋ก ๋ง๋ ํธ๋ฆฌ๊ฐ ์๋๋ฐ, ๋ฐ๋ก ๐ AVL tree ์ Red-Black tree ์ด๋ค.