โ 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 ํธ๋ฆฌ - ํน์ง ]

- m์ ํ์ ํธ๋ฆฌ์ ์์ ๊ฐ์ ๊ท์น์ฑ์ ๋ํด์ ๊ท ํ์ ๋ง์ถ๋ ๊ฒ์ด B ํธ๋ฆฌ์.
- m์ ํ์ ํธ๋ฆฌ์ ํ์์ด๊ธฐ ๋๋ฌธ์ ์๋ ๋ ธ๋์ ์ต๋ ๊ฐ์๋ฅผ ์ง์ ์ง์ ํด์ ์ฌ์ฉ ํ ์ ์์.
- ์ฆ, ์ต๋ ๋ช ๊ฐ์ ์๋ ๋ ธ๋๋ฅผ ๊ฐ์ง ๊ฒ์ธ์ง๊ฐ B tree๋ฅผ ์ฌ์ฉํ ๋ ์ค์ํ ํ๋ผ๋ฏธํฐ๊ฐ ๋จ.
[ B ํธ๋ฆฌ - ํ๋ผ๋ฏธํฐ ์กฐ๊ฑด ]

- [ 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 ๋ก ๋ถ๋ฆ.

- ๋ํ, 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 ํธ๋ฆฌ - ๋ฐ์ดํฐ ์ฝ์
[ ์ฝ์ ์๊ณ ๋ฆฌ์ฆ ]

[ 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 ํธ๋ฆฌ - ๋ฐ์ดํฐ ์ญ์ :์ ๋ ธ๋

- "์ญ์ ํ ์ต์ 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๋ฒ - ํ์ ์ง์ ]

- 1์ฐจ์ ์ผ๋ก ์ญ์ ํ ์ต์ ํค ๋ณด๋ค ์ ๋ค๋ฉด ๋์ํํ ๋จผ์ ์ง์ ๋ฐ๊ณ ์ดํ ์ฌ๊ฑด์ด ์๋๋ฉด ํํํ ๋ฐ๊ฒ ๋จ.
[ 2๋ฒ - ํ์ ์ง์ ๋ถ๊ฐ๋ฅ ํ ์ ๋ถ๋ชจ ์ง์ ]

- ํ์ ์ ์ง์์ ๋ฐ์ง ๋ชปํ๋ ๊ฒฝ์ฐ, ๋ถ๋ชจ์ ์ง์์ ๋ฐ์์ ๋ถ๋ชจ์ ํค ๊ฐ์ ๋ด๋ ค ๋ฐ๊ณ ํฉ์น๊ฒ ๋จ.
- ์ฆ, ์ญ์ ๋ ๋ ธ๋์ 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 |