2-3-4 ํธ๋ฆฌ๋? ํ์ํธ๋ฆฌ ์ค ํ๋๋ก, ์ด์ง ํธ๋ฆฌ๊ฐ ์๋๋ค. ์ฆ, ์์ ๋ ธ๋๊ฐ 2๊ฐ๋ณด๋ค ๋ง์ ์ ์๋ค. ํน์ง์ผ๋ก 1. ์ด๋ฆ์ฒ๋ผ ์์ ๋ ธ๋์ ๊ฐ์๋ 2๊ฐ ๋๋ 3๊ฐ ๋๋ 4๊ฐ๋ฅผ ๊ฐ์ง ์ ์๋ค. (์ฆ, ์ต์ 2๊ฐ ~ ์ต๋ 4๊ฐ) 2. ๋ชจ๋ leaf ๋ ธ๋๊ฐ ๊ฐ์ level์ ์กด์ฌํ๋ค. 3. ์ฝ์ ์, leaf ๋ ธ๋์ ์ฝ์ ํ๋ค. ์ฝ์ ์ถ๊ฐํ key๊ฐ root๋ถํฐ leaf ๋ ธ๋๊น์ง ๋ด๋ ค๊ฐ๋ฉด์, 4-๋ ธ๋์ด๋ฉด splitํ๋ฉด์ ๋ด๋ ค๊ฐ๋ค. splitํ ๋ ์ค๊ฐ ๊ฐ์ ๋ถ๋ชจ ๋ ธ๋๋ก ๋ฌด์กฐ๊ฑด ์ฌ๋ผ๊ฐ ์ ์๋๋ฐ, ๊ทธ ์ด์ ๋ key๊ฐ ๋ด๋ ค์ค๋ฉด์ 4-๋ ธ๋์ธ ๊ฒฝ์ฐ split์ ์ด๋ฏธ ํด๋จ๊ธฐ ๋๋ฌธ์ด๋ค. splitํ๋๋ฐ O(1)์ด ๊ฑธ๋ฆฌ๊ณ , ์ต์ ์ ๊ฒฝ์ฐ leaf๋ ธ๋๊น์ง ๋ด๋ ค๊ฐ๋ฉด์ ๋งค๋ฒ split ํด์ผํ๋ฏ๋ก(log n๋ฒ), ์ฝ์ ์์ ์๊ฐ๋ณต..
B-ํธ๋ฆฌ๋? B-ํธ๋ฆฌ(B-tree)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ผ ์์คํ ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ์ ์ผ์ข ์ผ๋ก, ์ด์ง ํธ๋ฆฌ๋ฅผ ํ์ฅํด ํ๋์ ๋ ธ๋์ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. ์ฐจ์๊ฐ p์ธ B-ํธ๋ฆฌ์ ํน์ฑ 1)์ ์ด๋ ๋ ธ๋์ ๋ฐ์ ์ฑ์์ผ ํ๋ค. ์ฆ, root์ leaf๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ ธ๋์ pointer ์ = ์๋ธํธ๋ฆฌ ์ = ์ต์ ⌈p / 2⌉๊ฐ, ์ต๋ p ๊ฐ 2) root๋ pointer๋ฅผ 2๊ฐ ์ด์ ๊ฐ์ ธ์ผ ํ๋ค. ์ฆ, root์ ์๋ธํธ๋ฆฌ์ ์ >= 2 3) ๋ชจ๋ leaf๋ ๊ฐ์ level (์ฆ, ๊ท ํ ํธ๋ฆฌ์ด๋ค) 4) ๋ ธ๋์ key ๊ฐ์ leaf๊ฐ ์๋ ๋ ธ๋: pointer ์ - 1 ๊ฐ = ์๋ธํธ๋ฆฌ ์ - 1๊ฐ (์๋ B-ํธ๋ฆฌ ๊ธฐ๋ณธ ๊ตฌ์กฐ ๊ทธ๋ฆผ์ ๋ณด๋ฉด, key์ ๊ฐ์๋ (pointer ๊ฐ์ - 1)์ผ ์ ๋ฐ..
- Total
- Today
- Yesterday
- ๋ฆฌ์กํธ
- Context API
- error
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- mdn
- ์ ๋ ฌ
- BOJ
- DOM
- DB
- git
- JavaScript
- github
- ์๋ฌ
- ๊ทธ๋ํ
- ์๋ฐ์คํฌ๋ฆฝํธ
- React Query
- ํจ์
- Component
- zustand
- Browser
- ์๋ฃ๊ตฌ์กฐ
- ํ์ด์ฌ
- react
- ๋ธ๋ผ์ฐ์
- useState
- CSS
- ์๊ณ ๋ฆฌ์ฆ
- Python
- state
- leetcode
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |