๐Ÿ“–Binary Tree

๊ฐ ๋…ธ๋“œ๊ฐ€ ์ตœ๋Œ€ 2๊ฐœ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŠธ๋ฆฌ

  • ๋ฃจํŠธ ๋…ธ๋“œ๋งŒ ์กด์žฌํ•ด๋„ ์ด์ง„ ํŠธ๋ฆฌ

๐Ÿ“–์ด์ง„ ํŠธ๋ฆฌ์˜ ์ข…๋ฅ˜

๐Ÿ“Ž์ • ์ด์ง„ ํŠธ๋ฆฌ(Full Binary Tree)

๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ 0๊ฐœ ๋˜๋Š” 2๊ฐœ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง„ ์ด์ง„ ํŠธ๋ฆฌ

๐Ÿ“Ž์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ(Complete Binary Tree)

๋งˆ์ง€๋ง‰ ๋ ˆ๋ฒจ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ ˆ๋ฒจ์—์„œ ์ˆœ์„œ๋Œ€๋กœ ๋…ธ๋“œ๊ฐ€ ๊ฝ‰ ์ฑ„์›Œ์ง„ ์ด์ง„ ํŠธ๋ฆฌ

  • ์ˆœ์„œ๋Š” ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ (์ฆ‰, ์˜ค๋ฅธ์ชฝ ์ž์‹์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ์™ผ์ชฝ ์ž์‹๋„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•จ)

๐Ÿ“Žํฌํ™” ์ด์ง„ ํŠธ๋ฆฌ(Perfect Binary Tree)

๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ 2๊ฐœ์˜ ์ž์‹์„ ๊ฐ€์ง€๊ณ  leaf ๋…ธ๋“œ๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ๋ ˆ๋ฒจ์„ ๊ฐ€์ง„ ์ด์ง„ ํŠธ๋ฆฌ

  • ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ(Complete Binary Tree)์— ์†ํ•จ (์—ญ์€ ์„ฑ๋ฆฝ X)

๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜

๐Ÿ“Ž์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(Binary Search Tree)

๐Ÿ“–1์ฐจ์› ๋ฐฐ์—ด์—์„œ์˜ ์ด์ง„ ํŠธ๋ฆฌ

๋น„์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์ด์ง€๋งŒ ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์ธ 1์ฐจ์› ๋ฐฐ์—ด๋กœ๋„ ํ‘œํ˜„ ๊ฐ€๋Šฅ

  • ๊ฐ„๋‹จํ•˜๊ฒŒ ํŠธ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Œ
  • ๊ณต๊ฐ„์˜ ์ œ์•ฝ์ด ์กด์žฌ ( โˆต ๋ฐฐ์—ด์˜ ํ•œ๊ณ„)
  • ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…/์‚ญ์ œ ์‹œ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์˜ ์ด๋™ ( โˆต ๋ฐฐ์—ด์˜ ํ•œ๊ณ„)
  • ์ธ๋ฑ์Šค ๊ฐ’์„ ๋…ธ๋“œ์˜ ๋ฒˆํ˜ธ๋กœ ์ทจ๊ธ‰

๋…ธ๋“œ ๋ฒˆํ˜ธ๋ฅผ i๋ผ๊ณ  ํ•  ๋•Œ

0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” ๋น„์›Œ๋‘๊ณ , 1๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์‚ฌ์šฉ

  • ๋ฃจํŠธ ๋…ธ๋“œ : i
  • ๋ถ€๋ชจ ๋…ธ๋“œ : i/2
  • ์™ผ์ชฝ ์ž์‹ ๋…ธ๋“œ : i * 2
  • ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ : i * 2 + 1