์ง๊ธ๊น์ง ๋ฐฐ์ด ๋ฐฐ์ด ,์ฐ๊ฒฐ๋ฆฌ์คํธ, ์คํ๊ณผ ํ๋ ๋ชจ๋ ์ ํ ์๋ฃ๊ตฌ์กฐ์๋ค. ์์ผ๋ก ๋ฐฐ์ธ ํธ๋ฆฌ์ ๊ทธ๋ํ๋ ๊ทธ๋ ์ง ์๋ค.
ํธ๋ฆฌ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ ์ฌํ ๋ฐ์ดํฐ๊ตฌ์กฐ์ด์ง๋ง ํ๋์ ๋ ธ๋๊ฐ ์ฌ๋ฌ๊ฐ์ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ๊ทธ๋ ๊ฒ ํธ๋ฆฌ๋ ๊ณ์ธต์ ์์ฑ์ ํํํ ์ ์๊ฒ ๋๋ค. (์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๋ค๋ฅธ ์ ํ ์๋ฃ๊ตฌ์กฐ์ ๊ฒฝ์ฐ ๊ณ์ธต๋์ ์์๊ฐ ์ ํํ)
์ฉ์ด
๋ฃจํธ : ๋ถ๋ชจ๊ฐ ์๋ ๋ ธ๋ (๋ ๋ฒจ์ด 0์ธ ๋ ธ๋) ๋ฆฌํ leaf : ์์์ด ์๋ ๋ ธ๋ ์กฐ์ ancestor : ๋ฃจํธ๋ถํฐ ํด๋น ๋ ธ๋๊น์ง์ ๊ฒฝ๋ก์ ์์นํ ๋ ธ๋ ์์ descendant : ํด๋น ๋ ธ๋ ์ ๊ฐ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ํ์ ๋ ธ๋๋ค ํ์ sibling : ๊ฐ์ ๋ถ๋ชจ๋ฅผ ๊ฐ์ง ๋ ธ๋๋ค
๋ ธ๋์ ํฌ๊ธฐ size : ์๊ธฐ์ ๋ชจ๋ ์์๋ ธ๋์ ์ ๋ถ์ ํธ๋ฆฌ sub tree : ๊ฒฝ์ฌ ํธ๋ฆฌ skew tree : ํธ๋ฆฌ์ ๋ชจ๋ ๋ ธ๋๊ฐ ์ค์ง ํ๊ฐ์ ์์๋ง์ ๊ฐ์ง ๋
์ด์ง ํธ๋ฆฌ
ํธ๋ฆฌ์ค์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํธ๋ฆฌ ํํ. ๋ชจ๋ ๋ ธ๋๊ฐ ์์์ด ์ต๋ ๋ ๊ฐ์ ์์์ ๊ฐ์ง ๋ ์ด์ง ํธ๋ฆฌ๋ผ๊ณ ํ๋ค.
์๊ฒฉํ strict ์ด์ง ํธ๋ฆฌ : ๋ชจ๋ ๋ ธ๋๊ฐ ๋ ๊ฐ์ ์์์ ๊ฐ์ง๊ฑฐ๋ ์์ ๊ฐ์ง์ง ์๊ณ ์๋ ๊ฒฝ์ฐ
ํฌํ full ์ด์ง ํธ๋ฆฌ : ๋ชจ๋ ๋ ธ๋๊ฐ ๋ ๊ฐ์ ์์์ ๊ฐ์ง๊ณ , ๋ฆฌํ ๋ ธ๋๋ค์ด ๋ชจ๋ ๊ฐ์ ๋ ๋ฒจ์ ์๋ ๊ฒฝ์ฐ
์์ complete ์ด์ง ํธ๋ฆฌ : ๋ง์ง๋ง ๋ ๋ฒจ์ ์ ์ธํ ๋ชจ๋ ๋ ๋ฒจ์ ๋ ธ๋๊ฐ ์ฑ์์ ธ ์๊ณ , ๋ง์ง๋ง ๋ ๋ฒจ์ ๋ ธ๋๋ค์ ์ผ์ชฝ๋ถํฐ ์ฑ์์ ธ ์๋ ๊ฒฝ์ฐ
์ด์ง ํธ๋ฆฌ์ ์์ฑ
๊ตฌ์กฐ
๋ ธ๋๋ ์ด ์ธ ๋ถ๋ถ์ผ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ๋ณ์์, ๋ค์ ๋ ๋ฒจ์ ๋ ธ๋๋ค์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ์ด ๋ ๊ฐ.
์ฐ์ฐ
์ฝ์ , ์ญ์ : ๊ฒ์ : ํน์ ๋ฐ์ดํฐ๊ฐ ์๋์ง ํ์ธํ๊ธฐ ํ์ : ๋ชจ๋ ๋ฐ์ดํฐ ์ถ๋ ฅํ๊ธฐ ๋์ด ๊ตฌํ๊ธฐ ์ต์ ๊ณตํต ๋ถ๋ชจ ์ฐพ๊ธฐ
์ ์ฉ ์ฌ๋ก
์ปดํ์ผ๋ฌ์์ ์ฌ์ฉํ๋ ์์ ํธ๋ฆฌ ๋ฐ์ดํฐ ์์ถ ์๊ณ ๋ฆฌ์ฆ์์ ์ฌ์ฉ๋๋ ํํ๋ง ์ฝ๋ฉ ํธ๋ฆฌ ์ด์ง ๊ฒ์ ํธ๋ฆฌ Binary Search Tree BST ์ฐ์ ์์ ํ Priority Queue PQ
ํ์ Tree Traversal
ํธ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ํธ๋ฆฌ๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค. ์ง๊ธ๊น์ง ๋ฐฐ์ด ์ ํ ์๋ฃ๊ตฌ์กฐ์์ ํ์์ด๋ ์์์๋ถํฐ ์งํํ๋ ๋ค์์๋ถํฐ ์งํํ๋ ๋ฐฐ์น๋ ์์๋ฅผ ๋ฐ๋ฅด๋ฉด ๋์์ง๋ง ํธ๋ฆฌ์์๋ ์์๊ฐ ์กด์ฌํ์ง ์๊ธฐ์ ๊ฐ๋ฐ์๊ฐ ํ์ํ ์์๋ฅผ ์ง์ ํด์ค์ผํ๋ค.
์ ์ Preorder ํ์ DLR : ๋ถ๋ชจ ๋ ธ๋ -> ์ผ์ชฝ ์๋ธํธ๋ฆฌ -> ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ ์ค์ Inorder ํ์ LDR : ์ผ์ชฝ ์๋ธํธ๋ฆฌ -> ๋ถ๋ชจ ๋ ธ๋ -> ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ ํ์ Postorder ํ์ LRD : ์ผ์ชฝ ์๋ธํธ๋ฆฌ -> ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ -> ๋ถ๋ชจ ๋ ธ๋
๋ณด๋๊น ์ ์, ์ค์, ํ์๋ฅผ ๊ตฌ๋ถํ๋๊ฑด ๋ฃจํธ๋ฅผ ์ธ์ ์ฒ๋ฆฌํ ๊ป์ง๋ฅผ ์๋ฏธํ๋๊ฒ์ด๊ณ ์๋ธํธ๋ฆฌ๋ค ๋ผ๋ฆฌ๋ ๋ฌด์กฐ๊ฑด ์ผ์ชฝ์ ๋จผ์ ์ฒ๋ฆฌํ๊ณ ์ค๋ฅธ์ชฝ์ ๋์ค์ ์ฒ๋ฆฌํ๋ค. (?) -> ์ผ -> (?) -> ์ค -> (?) ๋์ถฉ ์ด๋ฐ ๋ชจ์์ธ.
๊ทธ๋ฆฌ๊ณ ์ฌ๊ท์ ์ด๋ผ๋ ํน์ง์ด ์๋ค๊ณ ํ๋ค. ๋ ธ๋๋ฅผ ์ฎ๊ฒจ๊ฐ๋ฉฐ ๊ฐ์ DLR(ํน์ LDR์ด๋ LRD)์ ๋ฐ๋ณตํ๋ค๋ ์๋ฏธ.