์ง๊ธ๊น์ง ๋ฐฐ์ด ๋ฐฐ์ด ,์ฐ๊ฒฐ๋ฆฌ์คํธ, ์คํ๊ณผ ํ๋ ๋ชจ๋ ์ ํ ์๋ฃ๊ตฌ์กฐ์๋ค.
์์ผ๋ก ๋ฐฐ์ธ ํธ๋ฆฌ์ ๊ทธ๋ํ๋ ๊ทธ๋ ์ง ์๋ค.
ํธ๋ฆฌ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ ์ฌํ ๋ฐ์ดํฐ๊ตฌ์กฐ์ด์ง๋ง ํ๋์ ๋
ธ๋๊ฐ ์ฌ๋ฌ๊ฐ์ ๋
ธ๋๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
๊ทธ๋ ๊ฒ ํธ๋ฆฌ๋ ๊ณ์ธต์ ์์ฑ์ ํํํ ์ ์๊ฒ ๋๋ค.
(์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๋ค๋ฅธ ์ ํ ์๋ฃ๊ตฌ์กฐ์ ๊ฒฝ์ฐ ๊ณ์ธต๋์ ์์๊ฐ ์ ํํ)
์ฉ์ด
๋ฃจํธ : ๋ถ๋ชจ๊ฐ ์๋ ๋
ธ๋ (๋ ๋ฒจ์ด 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)์ ๋ฐ๋ณตํ๋ค๋ ์๋ฏธ.