[์ž๋ฃŒ๊ตฌ์กฐ] 12๊ฐ• - ๋ฉ€ํ‹ฐ์›จ์ด ํƒ์ƒ‰ ํŠธ๋ฆฌ(1)

2025. 11. 22. 03:23ยท๐ŸŽ“๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต/๐Ÿ”ข์ž๋ฃŒ๊ตฌ์กฐ

โœ… 1. ๋ฉ€ํ‹ฐ์›จ์ด ํƒ์ƒ‰ ํŠธ๋ฆฌ

  • Mulit: ์ ‘๋‘์‚ฌ๋กœ '๋งŽ์€(many)', **'๋‹ค์ˆ˜์˜(multiple)'**๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง.
  • way: '๋ฐฉํ–ฅ(direction)', '๊ฒฝ๋กœ(path)', ๋˜๋Š” **'๋ฐฉ์‹(mode)'**์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ์ฆ‰, Multiway๋Š” ๊ธ€์ž ๊ทธ๋Œ€๋กœ **"๋‹ค์ˆ˜์˜ ๋ฐฉ์‹/๋ฐฉํ–ฅ"**์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ž๋ฃŒ๊ตฌ์กฐ์—์„œ๋Š” ํ•˜๋‚˜์˜ ๋…ธ๋“œ๊ฐ€ 2๊ฐœ(์ด์ง„)๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๋‹ค์ˆ˜์˜ ์ž์‹ ๋…ธ๋“œ๋‚˜ ๋ถ„๊ธฐ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ์„ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— '๋‹ค์›(ๅคšๅ…ƒ)' ๋˜๋Š” **'m-์›(m-way)'**์œผ๋กœ ๋ฒˆ์—ญ๋˜๊ธฐ๋„ ํ•จ.
  • ์ฆ‰, **๋ฉ€ํ‹ฐ์›จ์ด ํƒ์ƒ‰ ํŠธ๋ฆฌ(m-way Search Tree, ๋‹ค์› ํƒ์ƒ‰ ํŠธ๋ฆฌ)**๋Š” ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(BST)์˜ ํƒ์ƒ‰ ๊ทœ์น™์„ ํ™•์žฅํ•˜์—ฌ, ํ•˜๋‚˜์˜ ๋…ธ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ‚ค๋ฅผ ์ €์žฅํ•˜๊ณ  ์ตœ๋Œ€ m๊ฐœ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ์ผ๋ฐ˜ํ™”ํ•œ ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.
  • ์ž์‹์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ผ๋Š” ๋ณตํ•ฉ์  ์ƒํ™ฉ์„ ๊ฐ•์กฐํ•˜๋Š” ์ด๋ฆ„. ( ๋ช‡ ๊ฐœ๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ์ง€ ๊ทœ์น™์„ ํŠน์ •ํ•˜์ง€ ์•Š์Œ. )

โœ… 2. m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ

  • m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ๋Š” ๋ฉ€ํ‹ฐ์›จ์ด ํƒ์ƒ‰ ํŠธ๋ฆฌ์™€ ๋™์ผํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ํ•œ ๊ฐ€์ง€ ์ฐจ์ด์ ์€ ๋ฉ€ํ‹ฐ์›จ์ด ํŠธ๋ฆฌ๋Š” ์ž์‹์ด 3๊ฐœ์ผ ์ˆ˜๋„ ์žˆ๊ณ , 10๊ฐœ์ผ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ํฐ ๊ทธ๋ฆผ์„ ์˜๋ฏธํ•˜๊ณ , m-์› ํŠธ๋ฆฌ๋Š” ์ •ํ™•ํžˆ ์ด ํŠธ๋ฆฌ๋Š” ์ตœ๋Œ€ m ๊ฐœ ์ž์‹์„ ๊ฐ€์ง„๋‹ค๋ผ๊ณ  ์ˆ˜ํ•™์ ์œผ๋กœ ๋ชจ๋ธ๋งํ•œ ํ˜•ํƒœ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ.
  • ์ฆ‰, ์ž์‹ ๋…ธ๋“œ์˜ ์ตœ๋Œ€ ์ˆ˜๋ฅผ ์ •ํ™•ํžˆ m๊ฐœ ๋ผ๋Š” ์ˆ˜ํ•™์  ์ •์˜๋ฅผ ๊ฐ•์กฐํ•œ ํ‘œํ˜„์ด๋‹ค. ( 2๊ฐœ ์ž์‹ ๋…ธ๋“œ = 2 way, 3๊ฐœ = 3 way... )

(1) ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ

  • ํŠธ๋ฆฌ์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ๋…ธ๋“œ์˜ ์‚ฝ์ž…/์‚ญ์ œ ์—ฐ์‚ฐ์ด ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์‘์šฉ ๋ฌธ์ œ์— ํšจ๊ณผ์ ์ธ ์ด์ง„ ํŠธ๋ฆฌ์ž„.
  • ์ฆ‰, ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ์ด๋ผ๋Š” ๋ฐฉํ–ฅ์„ฑ์„ ๋น„๊ตํ•˜๋ฉฐ ๋‹ค๋ฃจ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฝ์ž…/์‚ญ์ œ ์—ฐ์‚ฐ์— ํšจ์œจ์ ์ž„.
  • m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ์—์„œ 2-way ํƒ์ƒ‰ ํŠธ๋ฆฌ๊ฐ€ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ.

[ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ๋ฌธ์ œ์  ]

  • ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๋ฉด ํŠธ๋ฆฌ์˜ ๋†’์ด๊ฐ€ ์ปค์ง€๊ฒŒ ๋  ์ˆ˜ ์žˆ์Œ.
  • ์‰ฝ๊ฒŒ๋งํ•ด, 2๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ๊ณ ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ๋…ธ๋“œ๊ฐ€ ๋Š˜์–ด๋‚ ์ˆ˜๋ก ๋†’์ด๊ฐ€ ๋†’์•„์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž„.

[ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ๋ฌธ์ œ์  ~ ๋ฉ€ํ‹ฐ์›จ์ด ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ๋ฐœ์ „ ]

  • ๋ฉ€ํ‹ฐ์›จ์ด ํƒ์ƒ‰ํŠธ๋ฆฌ๋Š” ์œ„์™€๊ฐ™์ด ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ๋†’์ด์˜ ๋ฌธ์ œ๋กœ ๋งŒ๋“ค์–ด์ง€๊ฒŒ ๋จ.
  • **์ฆ‰, ๊ฐ™์€ ๊ฐœ์ˆ˜์˜ ๋…ธ๋“œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํŠธ๋ฆฌ์˜ ๋†’์ด๋ฅผ ๋†’์ง€ ์•Š๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋จ.**

(2) m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ - ์ •์˜

  • ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ๊ฐ€ m ๊ฐœ ์ดํ•˜์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ํƒ์ƒ‰ ํŠธ๋ฆฌ์ด๋‹ค.
  • ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ํ™•์žฅ๋œ ํ˜•ํƒœ์ด๋ฉฐ, BST ์™€ ๋™์ผํ•˜๊ฒŒ ์™ผ์ชฝ ์ž‘์€ ๊ฐ’ ์˜ค๋ฅธ์ชฝ ํฐ ๊ฐ’์˜ ํ˜•ํƒœ๋ฅผ ๋”.
  • ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ์ œํ•œ์„ ๋”ฐ๋ฅด๋ฉด์„œ, 2๊ฐœ ์ด์ƒ ~ m๊ฐœ ์ดํ•˜์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ.
  • ์ฆ‰, ํ•ต์‹ฌ์€ BST ์˜ ํ•˜์œ„๊ฐ€ ์•„๋‹Œ ํ˜•์ œ ๊ฐœ๋…์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ.

(3) m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ - ๊ตฌ์กฐ

  • 3-way ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ์˜ˆ์‹œ์ด๋ฉฐ, ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋Š” ๋‘ ๊ฐœ์˜ key ๊ฐ’๊ณผ 3๊ฐœ์˜ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.
  • 3๊ฐœ์˜ ํฌ์ธํ„ฐ ์ค‘ ์ œ์ผ ์™ผ์ชฝ์€ 86 ๋ณด๋‹ค ์ž‘์€ ํ‚ค๊ฐ’์„ ๋น„๊ตํ•ด์ฃผ๊ณ , ์ค‘๊ฐ„ ํฌ์ธํ„ฐ๋Š” 86 ~ 90 ์‚ฌ์ด์˜ ํฌ์ธํ„ฐ์— ํ•ด๋‹นํ•˜๋Š” ํ‚ค๊ฐ’์ธ์ง€ ๋น„๊ต๋ฅผ ํ•ด์ฃผ๊ณ , ์˜ค๋ฅธ์ชฝ ํฌ์ธํ„ฐ๋Š” 90๋ณด๋‹ค ํฐ ๊ฐ’์„ ๋น„๊ตํ•ด์ฃผ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ํฌ์ธํ„ฐ ๋“ค์€ ๊ฐ๊ฐ ์„œ๋ธŒํŠธ๋ฆฌ์˜ ๋ฃจํŠธ์— ํ•ด๋‹นํ•œ๋‹ค.

  • ๊ฒฐ๊ณผ์ ์œผ๋กœ, m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ ์ค‘ 3-way ํƒ์ƒ‰ ํŠธ๋ฆฌ๋Š” ์œ„์™€ ๊ฐ™์ด ํ•˜๋‚˜์˜ ๋…ธ๋“œ๊ฐ€ ํ‚ค๊ฐ’์„ ๋‘ ๊ฐœ ๊ฐ€์ง€๊ฒŒ ํ‘œํ˜„์ด ๋  ์ˆ˜ ์žˆ๊ณ , ์ตœ๋Œ€ 3๊ฐœ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง€๋Š” ๊ตฌ์กฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ตœ๋Œ€ 3๊ฐœ๋ผ 1, 2, 3๊ฐœ๋Š” ๋˜์ง€๋งŒ 3๊ฐœ๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๋…ธ๋“œ๋Š” ๊ฐ€์งˆ ์ˆ˜ ์—†๋Š” ํŠน์ง•์ด ์žˆ์Œ.
  • ๋˜ํ•œ, ์™ผ์ชฝ์€ ํ‚ค ๊ฐ’๋“ค์˜ ์ž‘์€ ๊ฐ’ ์˜ค๋ฅธ์ชฝ์€ ํ‚ค ๊ฐ’๋“ค์˜ ํฐ ๊ฐ’ ์œผ๋กœ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์™€ ๋™์ผํ•œ ๊ทœ์น™์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.
  • ๋‹ค๋ฅธ์ ์€ ๊ฐ€์šด๋ฐ ํฌ์ธํ„ฐ ํ•„๋“œ๋Š” ํ‚ค๊ฐ’๋“ค์˜ ๊ฐ€์šด๋ฐ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’๋“ค์„ ํฌ์ธํ„ฐ๋กœ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์Œ.

(3) m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ - ๋…ธ๋“œ ๊ตฌ์กฐ

  • int n: ๋…ธ๋“œ์— ํ˜„์žฌ ์ €์žฅ๋œ ํ‚ค์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋ƒ„.
  • keyptrs[n-1]: n๊ฐœ์˜ ํ‚ค๊ฐ€ ์žˆ์„ ๋•Œ, n-1๊ฐœ์˜ ํ‚ค/ํฌ์ธํ„ฐ ์Œ์„ ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด ์„ ์–ธ ( ๊ตฌ์กฐ์ฒด ๋ฐฐ์—ด )

(4) m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ - ํƒ์ƒ‰ ์—ฐ์‚ฐ(key๊ฐ’ ์ฐพ๋Š” ์—ฐ์‚ฐ)

  • ์ฐพ๊ณ ์ž ํ•˜๋Š” ํ‚ค๊ฐ’์„ ์ž์‹ ํ‚ค๊ฐ’๊ณผ ๋น„๊ตํ•˜๋ฉด์„œ ๋‚ด๋ ค๊ฐ€๋Š” ์—ฐ์‚ฐ์ž„.
  • ์ฆ‰, ์ฐพ๋Š” ํ‚ค๊ฐ’๊ณผ ์ž์‹ ํ‚ค๊ฐ’์„ ๋น„๊ตํ•˜๋Š”๋ฐ ์ฐพ๋Š” ํ‚ค๊ฐ’์ด ๋” ํฌ๋ฉด ์˜ค๋ฅธ์ชฝ ํฌ์ธํ„ฐ๋ฅผ ํ†ตํ•ด ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋˜๋Š” ์›๋ฆฌ์ž„.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ๋…ธ๋“œ์˜ ๊ฐ€์ง€ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก(๋†’์ด๊ฐ€ ์ž‘๋‹ค๋ผ๋Š” ์˜๋ฏธ) ์ตœ๋Œ€ ํƒ์ƒ‰ ์‹œ๊ฐ„์ด ์งง์•„์ง. ( ์„œ๋ธŒ ํŠธ๋ฆฌ๊ฐ€ ๋งŽ๋‹ค๋Š” ์˜๋ฏธ )
  • ์ฆ‰, ๊ฒฐ๊ณผ์ ์œผ๋กœ m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ๋Š” ํŠธ๋ฆฌ์˜ ๊นŠ์ด๊ฐ€ ์–•์œผ๋ฏ€๋กœ ๋” ๋นจ๋ฆฌ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ.
  • ํ•˜์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ํ‚ค๊ฐ’์ด ๋งŽ์œผ๋ฉด ๋งŽ์„์ˆ˜๋ก ํƒ์ƒ‰์ด ๋นจ๋ผ์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ์–ด๋А์ •๋„ ํ‚ค๊ฐ’์„ ๋Š˜๋ฆฌ๊ฒŒ ๋˜๋ฉด ๋…ธ๋“œ ๋‚ด๋ถ€์—์„œ์˜ ํƒ์ƒ‰ ์‹œ๊ฐ„์ด ๋ˆˆ์— ๋„๊ฒŒ ๊ธธ์–ด์ง€๊ฒŒ ๋œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์–ด, ๋ณดํ†ต์€ 3์›, 4์› ํŠธ๋ฆฌ ๊นŒ์ง€๋งŒ ์“ฐ๋Š”๋“ฏ.
  • ๋†’์ด๋Š” ์ค„์–ด๋“ค์ง€๋งŒ, ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ์ปค์งˆ ์ˆ˜ ๋ฐ–์— ์—†์Œ.

โœ… 3. B ํŠธ๋ฆฌ

(1) B ํŠธ๋ฆฌ - ๋งŒ๋“ค์–ด์ง„ ์ด์œ 

  • m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„œ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ B ํŠธ๋ฆฌ์ž„. ์ฆ‰, BST ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„œ AVL ํŠธ๋ฆฌ๊ฐ€ ๋‚˜์˜จ ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ด์œ ์ž„.
  • m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ๋Š” ์„œ๋ธŒ ํŠธ๋ฆฌ์˜ ๊ท ํ˜•์— ๋Œ€ํ•ด์„œ๋Š” ํŠน๋ณ„ํžˆ ์ œํ•œํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฌํ•œ ์ด์œ ์—์„œ ๊ฐ ๋…ธ๋“œ๊ฐ€ ์ž์‹์„ ๋งŽ์ด ๊ฐ–๊ฒŒ ํ•˜์—ฌ ํŠธ๋ฆฌ์˜ ๋†’์ด๋ฅผ ์ค„์ด๊ณ  ์ „์ฒด์ ์œผ๋กœ ๊ท ํ˜•์„ ์œ ์ง€ํ•œ๋‹ค๋ฉด ํƒ์ƒ‰ ์„ฑ๋Šฅ์„ ๋”์šฑ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ์ด๋ผ๊ณ  ํŒ๋‹จํ•ด์„œ ๋งŒ๋“ค์–ด์ง.
  • ๋˜ํ•œ, m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ๋Š” ๊ฐœ๋…์ ์œผ๋กœ ํ•˜๋‚˜์˜ ๋…ธ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ Key ๋ฅผ ๊ฐ–๊ณ , ์—ฌ๋Ÿฌ ์ž์‹์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๊ฐ€ ์ „๋ถ€์ธ ํŠธ๋ฆฌ ์ž์ฒด์˜ ๊ท ํ˜• ์œ ์ง€ ๊ทœ์น™์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ๊ท ํ˜•์„ ์œ ์ง€ํ•ด์ฃผ๋Š”๊ฒŒ ๋ฐ”๋กœ BํŠธ๋ฆฌ์ด๋‹ค. ( ์ฆ‰, ์Šค์Šค๋กœ ๊ท ํ˜• ์œ ์ง€ํ•˜๋Š” m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ )
  • **m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ๋ฅผ ๊ฐœ์„ ํ•œ B ํŠธ๋ฆฌ๋Š” ์ธ๋ฑ์Šค ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ด ๋จ.**
  • ์ฐจ์ˆ˜ m์ธ B ํŠธ๋ฆฌ์˜ ํƒ์ƒ‰ ๊ฒฝ๋กœ ๊ธธ์ด๋Š” ๊ฐ™์€ ๊ฐœ์ˆ˜์˜ ํ‚ค๋ฅผ ๊ฐ€์ง€๋Š” ์ด์ƒ์ ์ธ m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ๋ณด๋‹ค ๊ธธ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด์ƒ์ ์ธ m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ์œ ์ง€ ๋น„์šฉ์— ๋น„ํ•ด ํ‚ค ๊ฐ’์„ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ๋•Œ B ํŠธ๋ฆฌ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ž„(์‰ฌ์›€).

(2) B ํŠธ๋ฆฌ - ๊ฐœ๋…

[ B ํŠธ๋ฆฌ - ํŠน์ง• ]

์ถœ์ฒ˜: https://www.youtube.com/watch?v=H_u28u0usjA&t=761s

  • m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ์— ์œ„์™€ ๊ฐ™์€ ๊ทœ์น™์„ฑ์„ ๋”ํ•ด์„œ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ๊ฒƒ์ด B ํŠธ๋ฆฌ์ž„.
  • m์› ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ํŒŒ์ƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž๋…€ ๋…ธ๋“œ์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ์ง์ ‘ ์ง€์ •ํ•ด์„œ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Œ.
  • ์ฆ‰, ์ตœ๋Œ€ ๋ช‡ ๊ฐœ์˜ ์ž๋…€ ๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ๊ฒƒ์ธ์ง€๊ฐ€ B tree๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ค‘์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋จ.

[ B ํŠธ๋ฆฌ - ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ๊ฑด ]

์ถœ์ฒ˜: https://www.youtube.com/watch?v=H_u28u0usjA&t=761s

  • [ M/2 ] : ๊ฐ ๋…ธ๋“œ์˜ ์ตœ์†Œ ์ž๋…€ ๋…ธ๋“œ ์ˆ˜๋Š” M์˜ 2๋ฅผ ๋‚˜๋ˆˆ ๋ชซ์„ ์˜ฌ๋ฆผ ํ•˜๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. 
  • ์ฆ‰, M = 3 : 3/2 = 1.5 = 2(์˜ฌ๋ฆผ) ๊ทธ๋ฆฌ๊ณ  root node, leaf node ๋Š” ์ œ์™ธํ•œ๋‹ค.
  • [ M/2 ] - 1: ๊ฐ ๋…ธ๋“œ๊ฐ€ ๊ฐ€์ง€๋Š” ์ตœ์†Œํ•œ์˜ key ์ˆ˜์— ๋Œ€ํ•œ ์กฐ๊ฑด์€ root node ๋ฅผ ์ œ์™ธํ•œ๋‹ค.
  • ๋˜ํ•œ, M์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ์„œ B tree๊ฐ€ ๊ฐˆ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์—, M์ฐจ B tree ๋กœ ๋ถ€๋ฆ„.

์ถœ์ฒ˜: https://www.youtube.com/watch?v=H_u28u0usjA&t=761s

  • ๋˜ํ•œ, BํŠธ๋ฆฌ๋Š” ๋ถ€๋ชจ ๋…ธ๋“œ์˜ key ์ˆ˜๊ฐ€ x ๊ฐœ๋ผ๋ฉด, ์ž๋…€ ๋…ธ๋“œ์˜ ์ˆ˜๋Š” ์–ธ์ œ๋‚˜ x + 1๊ฐœ์ด์—ฌ์•ผ ํ•œ๋‹ค.
  • ์ฆ‰, ์œ„์™€๊ฐ™์ด key ๊ฐ’์ด k1, k2 2๊ฐœ์ธ ๊ฒฝ์šฐ 2 + 1 = 3 ์ธ ์ž์‹ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ฐ€์ ธ์•ผํ•จ.
  • ๊ทธ๋ฆฌ๊ณ  ๋…ธ๋“œ๊ฐ€ ์ตœ์†Œ ํ•˜๋‚˜์˜ key ๋Š” ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ˜•ํƒœ๋ผ, ๋ช‡ ์ฐจ B tree ์ธ์ง€์™€ ๊ด€๊ณ„์—†์ด ์ตœ์†Œ 2๊ฐœ์˜ ์ž๋…€๋Š” ๊ฐ€์ง.

[ B ํŠธ๋ฆฌ - ์ •๋ฆฌ ]

  • ๋ฃจํŠธ์™€ ์žŽ ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•œ ํŠธ๋ฆฌ์˜ ๊ฐ ๋…ธ๋“œ๋Š” ์ตœ์†Œ [m/2](์˜ฌ๋ฆผ) ๊ฐœ์˜ ์„œ๋ธŒ ํŠธ๋ฆฌ๋ฅผ ๊ฐ–๋Š”๋‹ค.
  • ํŠธ๋ฆฌ์˜ ๋ฃจํŠธ๋Š” ์ตœ์†Œํ•œ 2๊ฐœ์˜ ์„œ๋ธŒ ํŠธ๋ฆฌ๋ฅผ ๊ฐ–๋Š”๋‹ค.
  • ํŠธ๋ฆฌ์˜ ๋ชจ๋“  ์žŽ ๋…ธ๋“œ๋Š” ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์žˆ๋‹ค. ์ฆ‰, B(balanced tree) tree ๋กœ ์‚ฝ์ž… ์—ฐ์‚ฐ ์‹œ ๋ชจ๋“  ์žŽ ๋…ธ๋“œ๋Š” ๊ฐ™์€ ๋ ˆ๋ฒจ๋กœ ์œ ์ง€์‹œ์ผœ์คŒ.
  • ํ•œ ๊ฐ€์ง€ ํŠน์ง•์€ ๋…ธ๋“œ์˜ ํ‚ค๊ฐ’์€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ์ด ์ง€์†์ ์œผ๋กœ ๋จ.

(3) B ํŠธ๋ฆฌ - ๋ฐ์ดํ„ฐ ์‚ฝ์ž…

[ ์‚ฝ์ž… ์•Œ๊ณ ๋ฆฌ์ฆ˜ ]

์ถœ์ฒ˜: https://www.youtube.com/watch?v=H_u28u0usjA&t=761s

[ 3์ฐจ B tree - ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ์˜ˆ์‹œ ]
(1) ๋ฐ์ดํ„ฐ ์‚ฝ์ž… -> root ์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ ๋น„๊ต
- 3์ฐจ B tree ์˜ ๊ฒฝ์šฐ ํ‚ค ๊ฐ’์ด ์ตœ๋Œ€ 2๊ฐœ๊ฐ€ ์กด์žฌ ํ•  ์ˆ˜ ์žˆ์Œ.
- ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ‚ค ๋‘๊ฐœ๋‹ค ๋น„๊ต๋ฅผ ํ•ด์ค˜์•ผํ•จ.
(2) ์ตœ์ข…์ ์œผ๋กœ ์žŽ ๋…ธ๋“œ๋กœ ๋‚ด๋ ค์˜ค๊ฒŒ ๋จ.
(3) ์žŽ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ๊ฐ€๋“์ฐจ์ง€ ์•Š์•˜๋‹ค๋ฉด, ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ํ•˜๋ฉฐ ์‚ฝ์ž…
(4) ๋งŒ์•ฝ ๊ฐ€๋“์ฐจ ์žˆ๋Š” ๊ฒฝ์šฐ(๋„˜์น˜๋Š” ๊ฒฝ์šฐ)
- ๊ฐ€์šด๋ฐ key๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ขŒ์šฐ key ๋“ค์„ ๋ถ„ํ• ํ•˜๊ณ  ๊ฐ€์šด๋ฐ key ๋Š” ์Šน์ง„์„ ์‹œํ‚ค๊ฒŒ ๋จ.
- ์ขŒ์šฐ key๋Š” ํ•ด๋‹น ๋…ธ๋“œ์—์„œ ๊ฐ€์žฅ ํฌ๊ณ  ์ž‘์€ ๊ฐ’์ž„.
- ์ขŒ์šฐ key ๋ฅผ ๊ฐ์ž ๋…ธ๋“œ๋กœ ๋ถ„ํ• ์„ ํ•จ.
- ์ดํ›„, ๊ฐ€์šด๋ฐ key๋ฅผ ๋ถ€๋ชจ๋…ธ๋“œ๋กœ ์Šน์ง„์„ ์‹œํ‚ด.
- ๋งŒ์•ฝ ๋ถ€๋ชจ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์˜ ๊ณต๊ฐ„์ด ์žˆ๋‹ค๋ฉด ๊ทธ๊ณณ์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ฉฐ ์‚ฝ์ž….
- ๊ฐ€๋“์ฐจ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜๋ณตํ•˜๋ฉฐ, ๊ณ„์† ์ขŒ์šฐ ๋ถ„ํ•  ๊ฐ€์šด๋ฐ ์Šน์ง„์„ํ•จ.
- ์ตœ์ข…์ ์œผ๋กœ leaf ๋…ธ๋“œ๋“ค์€ ๊ฐ™์€ ๋ ˆ๋ฒจ์— ๊ท ํ˜•์„ ๋งž์ถœ ์ˆ˜ ์žˆ์Œ.
  • ๋…ธ๋“œ๊ฐ€ ๋„˜์น˜๋Š” ๊ฒฝ์šฐ๋Š” ํ•˜๋‚˜์˜ ๋…ธ๋“œ์—์„œ M-1(๊ฐ ๋…ธ๋“œ์˜ ์ตœ๋Œ€ key ์ˆ˜)๋ฅผ ๋„˜๋Š” ํ‚ค๊ฐ’์„ ์ €์žฅํ•œ ๊ฒฝ์šฐ์ž„.
  • ์ฆ‰, 3์ฐจ B tree ๋ฉด ์ตœ๋Œ€ 2๊ฐœ์˜ key ๋ฅผ ์ €์žฅ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ 3๊ฐœ๋ฅผ ์ €์žฅํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ˆœ๊ฐ„์ด ๋„˜์น˜๋Š” ๊ฒฝ์šฐ์ž„.

(4) B ํŠธ๋ฆฌ - ๋ฐ์ดํ„ฐ ์‚ญ์ œ:์žŽ ๋…ธ๋“œ

์ถœ์ฒ˜: https://www.youtube.com/watch?v=H_u28u0usjA&t=761s

  • "์‚ญ์ œ ํ›„ ์ตœ์†Œ key ์ˆ˜๋ณด๋‹ค ์ ์–ด์กŒ๋‹ค๋ฉด ์žฌ์กฐ์ •ํ•œ๋‹ค" ์‰ฝ๊ฒŒ๋งํ•ด, B tree ์˜ ๊ฐ ๋…ธ๋“œ๊ฐ€ ๊ฐ€์ง€๋Š” ์ตœ์†Œํ•œ์˜ key ์ˆ˜์— ๋Œ€ํ•œ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค์ง€ ๋ชปํ•  ๊ฒฝ์šฐ์ค‘์—์„œ [M/2]-1 ๋ณด๋‹ค ์ž‘์€ ์ˆ˜๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ์žฌ์กฐ์ •์„ ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
  • ์ฆ‰, 3์ฐจ B tree ์˜ ๊ฒฝ์šฐ ์ตœ์†Œ key ๊ฐ€ 1์ด๊ธฐ ๋•Œ๋ฌธ์—, 1 ๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ ์žฌ์กฐ์ •์ด ํ•„์š”ํ•ด์ง€๊ฒŒ ๋œ๋‹ค.
  • ์žฌ์กฐ์ •์„ ํ•˜๋Š” ๋ฐฉ์‹์€ ์œ„์˜ 1, 2, 3 ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰์ด ๋จ. ( ์žฌ์กฐ์ •: B tree ์˜ ์กฐ๊ฑด์— ๋งž๊ฒŒ ๋…ธ๋“œ๋ฅผ ์žฌ๋ฐฐ์น˜ ํ•˜๋Š” ๊ฒƒ์ž„. )
  • 1๋ฒˆ์—์„œ ์˜๋ฏธํ•˜๋Š” ํ˜•์ œ๋Š” ๋นจ๊ฐ„์ƒ‰ ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ์€ ์ž‘์€ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋™์ƒ ์˜ค๋ฅธ์ชฝ์€ ํฐ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ํ˜•์ด ๋œ๋‹ค.
  • ์ฆ‰, ์œ„์™€ ๊ฐ™์ด ๋นจ๊ฐ„์ƒ‰ ๋…ธ๋“œ๋Š” 5๊ฐ€ ์‚ญ์ œ๋œ ์ƒํƒœ์ด๊ณ  B tree ์˜ ๊ทœ์น™์„ ๋งŒ์กฑ์‹œํ‚ค์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์กฑ์„ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ๋™์ƒ ๋…ธ๋“œ ์ค‘ ๊ฐ€์žฅ ํฐ key ๋ฅผ ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ๊ฐ€์žฅ ์ž‘์€ key ์œ„์น˜๋กœ ์˜ฌ๋ฆฌ๊ณ , ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ๊ฐ€์žฅ ์ž‘์€ key ๋Š” 5๊ฐ€ ์‚ญ์ œ ๋œ ๋…ธ๋“œ์— ์œ„์น˜ํ•˜๊ฒŒ ๋œ๋‹ค.

[ 1๋ฒˆ - ํ˜•์ œ ์ง€์› ]

์ถœ์ฒ˜: https://www.youtube.com/watch?v=H_u28u0usjA&t=761s

  • 1์ฐจ์ ์œผ๋กœ ์‚ญ์ œ ํ›„ ์ตœ์†Œ ํ‚ค ๋ณด๋‹ค ์ ๋‹ค๋ฉด ๋™์ƒํ•œํ…Œ ๋จผ์ € ์ง€์› ๋ฐ›๊ณ  ์ดํ›„ ์—ฌ๊ฑด์ด ์•ˆ๋˜๋ฉด ํ˜•ํ•œํ…Œ ๋ฐ›๊ฒŒ ๋จ.

[ 2๋ฒˆ - ํ˜•์ œ ์ง€์› ๋ถˆ๊ฐ€๋Šฅ ํ•  ์‹œ ๋ถ€๋ชจ ์ง€์› ]

์ถœ์ฒ˜: https://www.youtube.com/watch?v=H_u28u0usjA&t=761s

  • ํ˜•์ œ์˜ ์ง€์›์„ ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ, ๋ถ€๋ชจ์˜ ์ง€์›์„ ๋ฐ›์•„์„œ ๋ถ€๋ชจ์˜ ํ‚ค ๊ฐ’์„ ๋‚ด๋ ค ๋ฐ›๊ณ  ํ•ฉ์น˜๊ฒŒ ๋จ.
  • ์ฆ‰, ์‚ญ์ œ ๋œ ๋…ธ๋“œ์˜ key ๊ฐ’์ด B tree์˜ ๊ฐ ๋…ธ๋“œ ์ตœ์†Œ key ์ˆ˜๋ฅผ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๋…ธ๋“œ๋Š” ์™ผ์ชฝ ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ถ€๋ชจ๋กœ ๋ถ€ํ„ฐ ์ž‘์€ key ๊ฐ’์„ ๋‚ด๋ ค๋ฐ›๊ณ  ๋™์ƒ ๋…ธ๋“œ์™€ ํ•ฉ์ณ์ง€๊ฒŒ ๋จ.
  • ๋งŒ์•ฝ ์‚ญ์ œ ๋˜๋Š” ๋…ธ๋“œ์˜ key ๊ฐ’์ด ๋™์ƒ ๋…ธ๋“œ์ธ ๊ฒฝ์šฐ ๋ถ€๋ชจ ๋…ธ๋“œํ•œํ…Œ ํ‚ค๊ฐ’์„ ๋ฐ›๊ณ  ํ˜• ๋…ธ๋“œ์™€ ํ•ฉ์ณ์ง€๋ฉด ๋จ.

[ 3๋ฒˆ - ์ง€์›ํ•œ ๋ถ€๋ชจ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒฝ์šฐ ]

  • ๋ถ€๋ชจ๋…ธ๋“œ๊ฐ€ ์ตœ์†Œ key ์ˆ˜๋ฅผ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ ์œ„์— 1๋ฒˆ,2๋ฒˆ์„ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ๋‹ค์‹œ ์žฌ์กฐ์ •์„ ํ•จ.
  • ์ดํ›„, root ๋…ธ๋“œ๊ฐ€ ๋น„์–ด์žˆ๋‹ค๋ฉด, root ๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ํ•ด๋‹น ์ž์‹ ๋…ธ๋“œ๊ฐ€ root ๊ฐ€ ๋œ๋‹ค.
  • ์•ž์„  ๋‚ด์šฉ์€ ๋ชจ๋‘ leaf ๋…ธ๋“œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์žฌ์กฐ์ •์„ ํ•˜๋Š” ๊ฒฝ์šฐ์ž„.

(5) B ํŠธ๋ฆฌ - ๋ฐ์ดํ„ฐ ์‚ญ์ œ:๋‚ด๋ถ€ ๋…ธ๋“œ

  • internal ๋…ธ๋“œ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด leaf ๋…ธ๋“œ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์™€ ์œ„์น˜๋ฅผ ๋ฐ”๊พผ ํ›„ ์‚ญ์ œํ•˜์ง€๋งŒ, leaf ๋…ธ๋“œ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ค‘์— ์–ด๋–ค ๋ฐ์ดํ„ฐ์™€ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ค„ ๊ฒƒ์ธ์ง€๊ฐ€ ์ด์Šˆ์ž„.

  • ์ด์Šˆ ํ•ด๊ฒฐ์€ ์‚ญ์ œํ•  ๋ฐ์ดํ„ฐ์˜ ์„ ์ž„์ž๋‚˜ ํ›„์ž„์ž์™€ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋ฉด ํ•ด๊ฒฐ์ด ๋œ๋‹ค.
  • ์˜ˆ๋ฅผ๋“ค์–ด root 15 ๋ฅผ ์‚ญ์ œ ํ•  ๊ฒฝ์šฐ ์•„๋ž˜ leaf ๋…ธ๋“œ์˜ 8๊ณผ ๋ฐ”๊พผ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด 15์˜ ์™ผ์ชฝ ์„œ๋ธŒ ํŠธ๋ฆฌ๋Š” ์ž‘์€ ๊ฐ’๋งŒ ๊ฐ€์ ธ์•ผ ํ•˜๋ฏ€๋กœ, ์•„๋ž˜ 9 ๊ฐ€ ์žˆ์–ด ๋ถˆ๊ฐ€๋Šฅํ•จ. ์ด ๊ฒฝ์šฐ 15 ๋ณด๋‹ค ์ž‘์€ ์™ผ์ชฝ ์„œ๋ธŒ ํŠธ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’ 9(์„ ์ž„์ž)์™€ ์œ„์น˜๋ฅผ ๋ฐ”๊พผ ํ›„ ์‚ญ์ œ๋ฅผ ํ•˜๋ฉด ๋จ.
  • ๋ฐ˜๋Œ€๋กœ ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๊ธฐ์ค€์œผ๋กœ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์ธ 20(ํ›„์ž„์ž)์™€ ์œ„์น˜๋ฅผ ๋ฐ”๊พผ ํ›„ ์‚ญ์ œ๋ฅผ ํ•˜๋ฉด ๋จ.
  • ํ•ด๋‹น ์„ ์ž„์ž์™€ ํ›„์ž„์ž๊ฐ€ leaf ๋…ธ๋“œ์— ์žˆ๋Š”๊ฐ€๋ฅผ ์ฆ๋ช…ํ•ด์•ผ ํ•œ๋‹ค?

(6) B ํŠธ๋ฆฌ - ๋ฐ์ดํ„ฐ ์‚ญ์ œ ์ •๋ฆฌ

  • ์‚ญ์ œ๋˜๋Š” key ์˜ ๋…ธ๋“œ๊ฐ€ leaf & internal ์ธ์ง€์— ๋”ฐ๋ผ ์‚ญ์ œ๋˜๋Š” ๋ฐฉ์‹์ด ๋‹ฌ๋ผ์ง.
  • ํ•ต์‹ฌ์€, ์‚ญ์ œ๋˜๋Š” key ๋…ธ๋“œ๊ฐ€ leaf ๋…ธ๋“œ์ธ์ง€, internal ๋…ธ๋“œ์ธ์ง€ ํŒŒ์•…์„ ๋จผ์ €ํ•ด์ค˜์•ผํ•จ.
  • ๋งŒ์•ฝ leaf ๋…ธ๋“œ๋ฉด ์‚ญ์ œ ํ›„ ํ˜•์ œ ๋˜๋Š” ๋ถ€๋ชจ์˜ ๋„์›€์„ ๋ฐ›์•„ ์žฌ์กฐ์ •์„ ํ•˜๋ฉด ๋จ.
  • ๋งŒ์•ฝ internal ๋…ธ๋“œ๋ฉด ์‚ญ์ œํ•  ๋ฐ์ดํ„ฐ์˜ ์„ ์ž„์ž ๋˜๋Š” ํ›„์ž„์ž์™€ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๊ณ  ์‚ญ์ œ๋ฅผ ํ•˜๋ฉด ๋จ.
  • ์ดํ›„, ๊ธฐ์กด leaf ๋…ธ๋“œ์—์„œ ์‚ญ์ œ ํ•œ ์—ฐ์‚ฐ๊ณผ ๋™์ผํ•˜๊ฒŒ ์ตœ์†Œ key ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๊ท ํ˜•์„ ์œ ์ง€ํ•˜๋ฉด ๋จ.
  • ** ์ฆ‰, ์‚ญ์ œ๋Š” ํ•ญ์ƒ leaf ๋…ธ๋“œ์—์„œ ๋ฐœ์ƒํ•จ. **
  • ** internal ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ ์„ ์ž„์ž(leaf)์™€ ์œ„์น˜ ๋ฐ”๊พผ ํ›„ ์‚ญ์ œ **
  • ** ์‚ญ์ œ ํ›„ ์ตœ์†Œ key ์ˆ˜๋ณด๋‹ค ์ ์–ด์กŒ๋‹ค๋ฉด ์žฌ์กฐ์ • **
  • ** ํ˜•์ œ ์ง€์› -> ๋ถ€๋ชจ ์ง€์› ๋ฐ›๊ณ  ํ˜•์ œ ํ•ฉ์นจ -> ๋ถ€๋ชจ ๋„์›€ ํ›„ ๋ถ€๋ชจ๋„ ๋ฌธ์ œ ์‹œ ์žฌ์ฐจ ์กฐ์ • **

โœ… 4. B*, B+ ํŠธ๋ฆฌ

(1) B* ํŠธ๋ฆฌ์˜ ์ •์˜

  • ๋…ธ๋“œ์˜ ์•ฝ 2/3 ์ด์ƒ์ด ์ฑ„์›Œ์ง€๋Š” B ํŠธ๋ฆฌ
  • ๋…ธ๋“œ๊ฐ€ ๊ฝ‰ ์ฐจ๋ฉด ๋ถ„๋ฆฌํ•˜์ง€ ์•Š๊ณ , ํ‚ค์™€ ํฌ์ธํ„ฐ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ ๋‹ค๋ฅธ ํ˜•์ œ ๋…ธ๋“œ๋กœ ์˜ฎ๊น€
  • B ํŠธ๋ฆฌ์™€ ๋™์ผํ•œ ์ˆ˜์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ–๋Š”๋‹ค๋ฉด ๋†’์ด๊ฐ€ ๋‚ฎ๊ณ , ์‚ฝ์ž… / ์‚ญ์ œ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ๋…ธ๋“œ ๋ถ„๋ฆฌ๋ฅผ ์ค„์ด๋ ค๊ณ  ๊ณ ์•ˆ๋จ.
  • ์ฆ‰, B* ํŠธ๋ฆฌ๋Š” ์ตœ์†Œ 4์ฐจ ์ด์ƒ, ๋ณดํ†ต 100~1000 ์ฐจ์ˆ˜ ๊ฐ™์€ ๋Œ€ํ˜• ๋…ธ๋“œ์—์„œ ํšจ์œจ์„ ๋ฐœํœ˜ํ•˜๊ฒŒ ๋จ.
  • ์ฐจ์ˆ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋…ธ๋“œ์˜ key ๊ฐ’์ด ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— 2/3 ์ด์ƒ์„ ๋ณด์žฅํ•ด์ฃผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ด ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ์Œ.

(2) B+ ํŠธ๋ฆฌ์˜ ์ •์˜

  • ํƒ์ƒ‰ ํŠธ๋ฆฌ๋กœ ๊ตฌ์„ฑํ•˜๋ฉด ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์ฐจ๋ก€๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋Š” ๋ถˆํŽธํ•จ.
  • ๋งค๋ฒˆ ์™ผ์ชฝ์ธ์ง€ ์˜ค๋ฅธ์ชฝ์ธ์ง€ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ์ฐพ์•„๊ฐ€๋ฉด์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•จ.
  • B+ ํŠธ๋ฆฌ๋Š” ์ธ๋ฑ์Šค๋œ ์ˆœ์ฐจ ํŒŒ์ผ์„ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ์‚ฌ์šฉ์ด ๋จ.
  • B ํŠธ๋ฆฌ์™€ ๊ฐ™์ด ๊ฐ ๋…ธ๋“œ์˜ ํ‚ค๊ฐ€ ์ ์–ด๋„ 1/2์ด ์ฑ„์›Œ์ ธ์•ผ ํ•˜๋Š” ์ ์€ ๊ฐ™์Œ.
  • ๋˜ํ•œ, B+ ํŠธ๋ฆฌ์˜ ์žŽ ๋…ธ๋“œ๋“ค์€ ์œ„์™€ ๊ฐ™์ด ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ์Œ.
  • ๋ชจ๋“  ํ‚ค ๊ฐ’์ด ์žŽ ๋…ธ๋“œ์— ์žˆ๊ณ  ๊ทธ ํ‚ค ๊ฐ’์— ๋Œ€์‘ํ•˜๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ(ํŒŒ์ผ ๋‚ด์šฉ)์— ๋Œ€ํ•œ ์ฃผ์†Œ๋ฅผ ์žŽ ๋…ธ๋“œ๋งŒ์ด ๊ฐ€์ง€๊ณ  ์žˆ์Œ.
  • ๋ชจ๋“  ๊ฒ€์ƒ‰์€ ๋ฆฌํ”„๊นŒ์ง€ ๊ฐ€๋ฏ€๋กœ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ๊ฐ€ ๊ท ์ผํ•ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ˜„๋Œ€ DB ์ธ๋ฑ์Šค์™€ ํŒŒ์ผ์‹œ์Šคํ…œ์—์„œ ํ‘œ์ค€์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

'๐ŸŽ“๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต > ๐Ÿ”ข์ž๋ฃŒ๊ตฌ์กฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ž๋ฃŒ๊ตฌ์กฐ] 14๊ฐ• - ๊ทธ๋ž˜ํ”„(1)  (0) 2025.12.10
[์ž๋ฃŒ๊ตฌ์กฐ] 13๊ฐ• - ๋ฉ€ํ‹ฐ์›จ์ด ํƒ์ƒ‰ ํŠธ๋ฆฌ(2)  (0) 2025.12.05
[์ž๋ฃŒ๊ตฌ์กฐ] 11๊ฐ• - BST, Splay, AVL, BB  (0) 2025.11.20
[์ž๋ฃŒ๊ตฌ์กฐ] 9๊ฐ• - ํž™  (0) 2025.11.13
[์ž๋ฃŒ๊ตฌ์กฐ] 8๊ฐ• - ์Šค๋ ˆ๋“œํŠธ๋ฆฌ  (0) 2025.10.23
'๐ŸŽ“๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต/๐Ÿ”ข์ž๋ฃŒ๊ตฌ์กฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ž๋ฃŒ๊ตฌ์กฐ] 14๊ฐ• - ๊ทธ๋ž˜ํ”„(1)
  • [์ž๋ฃŒ๊ตฌ์กฐ] 13๊ฐ• - ๋ฉ€ํ‹ฐ์›จ์ด ํƒ์ƒ‰ ํŠธ๋ฆฌ(2)
  • [์ž๋ฃŒ๊ตฌ์กฐ] 11๊ฐ• - BST, Splay, AVL, BB
  • [์ž๋ฃŒ๊ตฌ์กฐ] 9๊ฐ• - ํž™
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด๋ณด๊ธฐ (195) N
      • ๐ŸŽ“๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต (51) N
        • โš™๏ธ์ปดํ“จํ„ฐ์˜ ์ดํ•ด (11)
        • ๐Ÿ’ป์ปดํ“จํ„ฐ๊ณผํ•™ ๊ฐœ๋ก  (15)
        • ๐Ÿ”ข์ž๋ฃŒ๊ตฌ์กฐ (13) N
        • ๐ŸŒ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ… (11)
        • ๐Ÿ–ฅ๏ธ์ปดํ“จํ„ฐ๊ณผํ•™๊ณผ (1)
      • ๐Ÿ› ๏ธBackend (68)
        • ๐Ÿ“š๋ฐฑ์—”๋“œ ๊ณต๋ถ€ (4)
        • โ˜•Java (23)
        • ๐ŸŒณSpring (13)
        • โš™๏ธC (12)
        • โšกPython (13)
        • JavaScript (1)
        • ๐Ÿ›ข๏ธDatabase (0)
        • Algorithm Problem Solving (2)
      • ๐ŸŒ Network (7)
        • ๐Ÿ“œHTTP (7)
      • ๐Ÿš€DevOps (1)
      • โ›บ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ (64)
      • ์ •๋ณด (2)
      • ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ธ€ (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • GitHub
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ž…์ถœ๋ ฅ
    Java
    ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ…๊ฐœ๋ก 
    ๋ฐฐ์—ด
    ๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต
    ์ž๋ฐ”
    ์ปดํ“จํ„ฐ์˜ ์ดํ•ด
    C
    ๋ฐฉํ†ต๋Œ€
    ํŒŒ์ด์ฌ
    Python
    ์ปดํŒŒ์ผ๋Ÿฌ
    C ์–ธ์–ด
    ๋ฐฉ์†ก๋Œ€
    spring
    ์ปดํ“จํ„ฐ๊ณผํ•™ ๊ฐœ๋ก 
    C์–ธ์–ด
    ์ž๋ฃŒ๊ตฌ์กฐ
    ํ•จ์ˆ˜
    ์œ ๋น„์ฟผํ„ฐ์Šค
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
junbin2
[์ž๋ฃŒ๊ตฌ์กฐ] 12๊ฐ• - ๋ฉ€ํ‹ฐ์›จ์ด ํƒ์ƒ‰ ํŠธ๋ฆฌ(1)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”