Tree

๋น„์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ ํŠธ๋ฆฌ(Tree)

ํŠธ๋ฆฌ(Tree)๋ž€?

์˜ˆ๋ฅผ ๋“ค์–ด ์นดํŽ˜์— ๊ฐ”๋Š”๋ฐ ๋ฉ”๋‰ดํŒ์„ ๋ณด๋‹ˆ ์ฐจ๊ฐ€์šด ์Œ๋ฃŒ์™€ ๋œจ๊ฑฐ์šด ์Œ๋ฃŒ๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋‹ค. ์ฐจ๊ฐ€์šด ์Œ๋ฃŒ ์•„๋ž˜์—๋Š” ์Šค๋ฌด๋””, ์•„์•„ ๋“ฑ์ด ์žˆ๊ณ  ๋œจ๊ฑฐ์šด ์Œ๋ฃŒ์—๋Š” ์นดํ‘ธ์น˜๋…ธ, ๋ผ๋–ผ ๊ฐ™์€ ๋ฉ”๋‰ด๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ์„ธ๊ณ„์—์„œ๋Š” ์ด๋ฅผ ํŠธ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ผ๊ณ  ํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ํŠธ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ธ์ง€ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์ผ์ƒ์ƒํ™œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋“ฏํ•˜๋‹ค.

ํŠธ๋ฆฌ๋Š” ์„œ๋กœ ๊ณ„์ธต์  ๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š” ๋น„์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด๊ณ , ์‚ฌ์ดํด์ด ์กด์žฌํ•˜์ง€ ์•Š์€ ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์ด๋‹ค. ์ฆ‰, ํŠธ๋ฆฌ๋Š” ๊ทธ๋ž˜ํ”„์ด์ง€๋งŒ ๊ทธ๋ž˜ํ”„๋Š” ํŠธ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋‹ค.

tree is graph

ํŠธ๋ฆฌ๋Š” ๋…ธ๋“œ(Node)์™€ ๊ฐ„์„ (Edge)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค.

  • ๋ฃจํŠธ ๋…ธ๋“œ(Root Nod) : ํŠธ๋ฆฌ์˜ ์ตœ์ƒ์œ„ ๋…ธ๋“œ์ด๋ฉฐ, ๋ฃจํŠธ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘๋œ๋‹ค.

  • ๋…ธ๋“œ(Node) : ํŠธ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ์š”์†Œ์ด๋‹ค. ๊ฐ ๋…ธ๋“œ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

    • ๋ถ€๋ชจ ๋…ธ๋“œ : ์–ด๋–ค ๋…ธ๋“œ์— ์—ฐ๊ฒฐ๋œ ์œ„์— ์žˆ๋Š” ๋…ธ๋“œ์ด๋‹ค.

    • ์ž์‹ ๋…ธ๋“œ : ์–ด๋–ค ๋…ธ๋“œ์— ์—ฐ๊ฒฐ๋œ ์•„๋ž˜์— ์žˆ๋Š” ๋…ธ๋“œ์ด๋‹ค.

    • ๋ฆฌํ”„ ๋…ธ๋“œ : ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ–์ง€ ์•Š๋Š” ๋…ธ๋“œ์ด๋‹ค. ๋‹จ๋ง ๋…ธ๋“œ๋ผ๊ณ ๋„ ํ•œ๋‹ค.

  • ๊ฐ„์„ (Edge) : ๋…ธ๋“œ๋“ค์„ ์—ฐ๊ฒฐํ•˜๋Š” ์„ ์œผ๋กœ, ๋ถ€๋ชจ ๋…ธ๋“œ์™€ ์ž์‹ ๋…ธ๋“œ์˜ ์—ฐ๊ฒฐ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

ํŠธ๋ฆฌ์˜ ์‚ฌ์šฉ ๋ชฉ์ ์— ๋งž๊ฒŒ ์—ฌ๋Ÿฌ ํ˜•ํƒœ์˜ ํŠธ๋ฆฌ๊ฐ€ ์žˆ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ ์ด์ง„ ํŠธ๋ฆฌ(Binary), ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(Binary Search), AVL ํŠธ๋ฆฌ, B-ํŠธ๋ฆฌ, ํž™(Heap), ๊ทธ๋ž˜ํ”„ ๋“ฑ์ด ์žˆ๋‹ค.

ํŠธ๋ฆฌ๋Š” ์™œ ์‚ฌ์šฉํ• ๊นŒ? ์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—์„œ๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ์‹œ๊ฐ„ ๋ณต์žก๋„๋„ ์ฆ๊ฐ€ํ•œ๋‹ค. ํŠธ๋ฆฌ์—์„œ๋Š” ๋ฐ์ดํ„ฐ์— ๋” ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํ˜•์„ฑํ•˜๋Š” ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ์— ์šฉ์ดํ•˜๊ธฐ ๋–„๋ฌธ์ด๋‹ค.

๋”ฐ๋ผ์„œ ํด๋” ๊ตฌ์กฐ, ์กฐ์ง ๊ตฌ์กฐ, XML ๋“ฑ๊ณผ ๊ฐ™์€ ๊ณ„์ธต์  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ ํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค.

์•„๋ž˜๋Š” ํŠธ๋ฆฌ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ ํ•ด๋ณด๊ณ , ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ ํ•ด๋ณด์•˜๋‹ค.

Last updated