๊ธ€ ์ž‘์„ฑ์ž: ์ด์ง€์›๐ŸŒฉ๏ธ

ํŠธ๋ฆฌ Tree

  • ์ •์ node๊ณผ ๊ฐ„์„ edge๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ๋ฐฐ์น˜ ํ˜•ํƒœ๋ฅผ ์ถ”์ƒํ™”ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ
  • 1:n ๊ด€๊ณ„์˜ ๋น„์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ
  • ๊ณ„์ธต ๊ด€๊ณ„๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ณ„์ธตํ˜• ์ž๋ฃŒ๊ตฌ์กฐ

root node

  • ํŠธ๋ฆฌ์—์„œ ์ตœ์ƒ์œ„ ๋…ธ๋“œ

leaf node

  • ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์—†๋Š” ๋…ธ๋“œ

internal node

  • leaf node๊ฐ€ ์•„๋‹Œ ๋…ธ๋“œ

parent node

  • ๋…ธ๋“œ A๊ฐ€ ๋…ธ๋“œ B๋ฅผ ๊ฐ€๋ฆฌํ‚ฌ ๋•Œ A๋ฅผ B์˜ ๋ถ€๋ชจ ๋…ธ๋“œ๋ผ๊ณ  ํ•จ ^์ฐธ์กฐ

child node

  • B๋ฅผ A์˜ ์ž์‹ ๋…ธ๋“œ๋ผ๊ณ  ํ•จ ^์ฐธ์กฐ

sibling

  • ๋™์ผํ•œ ๋ถ€๋ชจ๋ฅผ ๊ฐ–๋Š” ํ˜•์ œ ๋…ธ๋“œ

ancestor

  • ๋ถ€๋ชจ์˜ ๋ถ€๋ชจ(...์˜ ๋ถ€๋ชจ์˜) ๋…ธ๋“œ

descendant

  • ์ž์‹์˜ ์ž์‹(...์˜ ์ž์‹์˜) ๋…ธ๋“œ

๋…ธ๋“œ์˜ ์ˆ˜์ค€ Level

  • root node๋Š” level 0
  • root node๋กœ ๋ถ€ํ„ฐ ํ•ด๋‹น ๋…ธ๋“œ๊นŒ์ง€ ๊ฑฐ์น˜๋Š” ๊ฐ„์„ ์˜ ๊ฐฏ์ˆ˜

ํŠธ๋ฆฌ์˜ ๋†’์ด Height (=๊นŠ์ด Depth)

  • ์ตœ๋Œ€ ์ˆ˜์ค€(Level) + 1

๋ถ€๋ถ„ ํŠธ๋ฆฌ sub tree

๋…ธ๋“œ์˜ ์ฐจ์ˆ˜ Degree

  • ์ž์‹(sub tree)์˜ ์ˆ˜
  • ์ž์‹๊ณผ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์˜ ์ˆ˜
  • leaf node์˜ Degree ๋Š” 0
  • root node๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋…ธ๋“œ๋Š” ๋‹จ ํ•˜๋‚˜์˜ ๋ถ€๋ชจ node๋ฅผ ๊ฐ€์ง

์ด์ง„ ํŠธ๋ฆฌ Binary tree

  • ๋ชจ๋“  ๋…ธ๋“œ์˜ ์ฐจ์ˆ˜ Degree๊ฐ€ 2 ์ดํ•˜์ธ ํŠธ๋ฆฌ
  • ์žฌ๊ท€์ ์œผ๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Œ
    • ๋นˆ ํŠธ๋ฆฌ(Empty tree)์ด๊ฑฐ๋‚˜
    • root node + left sub tree + right sub tree
      • ์ด ๋•Œ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ๋„ ์ด์ง„ํŠธ๋ฆฌ

ํฌํ™” ์ด์ง„ ํŠธ๋ฆฌ Full Binary tree

  • ๋ชจ๋“  ๋ ˆ๋ฒจ์—์„œ ๋…ธ๋“œ๋“ค์ด ๋ชจ๋‘ ์ฑ„์›Œ์ ธ์žˆ๋Š” ์ด์ง„ ํŠธ๋ฆฌ
  • ๋†’์ด๊ฐ€ K์ด๊ณ  ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ 2^K - 1์ธ ์ด์ง„ํŠธ๋ฆฌ

์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ Complete Binary tree

  • ๋†’์ด K์ธ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ
  • ๋ ˆ๋ฒจ K-2 ๊นŒ์ง€๋Š” ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ 2๊ฐœ์˜ ์ž์‹์„ ๊ฐ€์ง„ ํฌํ™” ์ด์ง„ ํŠธ๋ฆฌ
  • ๋ ˆ๋ฒจ K-1 ์—์„œ๋Š” ์™ผ์ชฝ๋ถ€ํ„ฐ ๋…ธ๋“œ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฑ„์›Œ์ ธ ์žˆ๋Š” ์ด์ง„ ํŠธ๋ฆฌ
๋ฐ˜์‘ํ˜•