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๋ฒ), ์ฝ์ ์์ ์๊ฐ๋ณต..
KMP ์๊ณ ๋ฆฌ์ฆ์ด๋? ๋ํ์ ์ธ ๋ฌธ์์ด ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ KMP ์๊ณ ๋ฆฌ์ฆ์ ํต์ฌ ์๋ฆฌ ๋ฌธ์์ด ๋งค์นญ์ ํ๋ฉด์ ํ ์คํธ(์ ์ฒด ๋ฌธ์์ด)์ ํจํด(์ฐพ๋ ๋ฌธ์์ด)์์ ์๋ก ๋ค๋ฅธ ๊ธ์๊ฐ ๋์๋ค๋ฉด, '์๋ก ๋ค๋ฅธ ๊ธ์์ ๋ฐ๋ก ์ ๊น์ง๋ ์ผ์นํ๋ค'๋ผ๋ ์ฌ์ค๊ณผ '์ ๋์ฌ์ ์ ๋ฏธ์ฌ๊ฐ ๊ฐ์ ๋งํผ ๋น๊ต๋ฅผ ๋ํด๋ ๋๋ค'๋ ์ฌ์ค ์ด์ฉํ๊ธฐ ์ฆ, ๋ฐ๋ก ์ ๊ธ์๊น์ง ์ผ์นํ์์ผ๋ฏ๋ก, ์ ๋ฏธ์ฌ์ ์ ๋์ฌ๊ฐ ๊ฐ์๋งํผ ๋น๊ต๋ฅผ ๋ํ๋๋ก ์ด๋์์ผ์ฃผ๋ฉด ๋๋ค. ์ง์ ํ๋ํ๋ ์ดํดํด๋ณด๊ธฐ ์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด์ ์ดํดํด๋ณด์. @ @ @ @ a b c d a b c d @ @ @ @ ์ธ ํ ์คํธ์์, (@๋ ์๋ฌด ๊ธ์๋ผ๊ณ ์๊ฐํ์, ์ ๊ฒฝ์์จ๋ ๋๋ค.) a b c d a b c w z ์ธ ํจํด์ ์ฐพ๋๋ค๊ณ ํด๋ณด์. ์ฒซ ๋ฌธ์๋ถํฐ ํ๋ ํ๋ ๋น๊ต๋ฅผ ์์ํ๋ค. @ @ @ @ a b c..
๋ฒจ๋ง-ํฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋? ํ ๋ ธ๋์์ ๋ค๋ฅธ ๋ ธ๋๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์์ ๊ฐ์ค์น๋ฅผ ๊ฐ๋ edge(๊ฐ์ )์ด ์์ ๋ ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ? ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ - ๋งค๋ฒ ๋ฐฉ๋ฌธํ์ง ์๋ ๋ ธ๋ ์ค์์ ์ต๋จ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ์งง์ ๋ ธ๋๋ฅผ ์ ํํด ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด๋๊ฐ๋ค. - ์์ ๊ฐ์ค์น๋ฅผ ๊ฐ๋ edge(๊ฐ์ )์ด ์๋ค๋ฉด ์ต์ ์ ํด๋ฅผ ์ฐพ์ ์ ์๋ค. - ์๊ฐ ๋ณต์ก๋๊ฐ ๋น ๋ฅด๋ค. ๋ฒจ๋ง-ํฌ๋ ์๊ณ ๋ฆฌ์ฆ - ๋งค ๋จ๊ณ๋ง๋ค ๋ชจ๋ edge(๊ฐ์ )์ ์ ๋ถ ํ์ธํ๋ฉด์ ๋ชจ๋ ๋ ธ๋๊ฐ์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด๋๊ฐ๋ค. - ์์ ๊ฐ์ค์น๋ฅผ ๊ฐ๋ edge๊ฐ ์์ด๋ ์ต์ ์ ํด๋ฅผ ์ฐพ์ ์ ์๋ค. - ์๊ฐ ๋ณต์ก๋๊ฐ ๋๋ฆฌ๋ค. ์ฆ, ๋ชจ๋ edge์ ๊ฐ์ค์น๊ฐ ์์์ผ ๋๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์, ์์ ๊ฐ์ค์น๋ฅผ ๊ฐ๋..
๋ค์ด๊ฐ๊ธฐ ์ ์ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ดํดํ๊ธฐ ์ํด ์ฌ๋ฌ ์ ํ๋ธ์ ๋ธ๋ก๊ทธ๋ฅผ ๋ฐฉ๋ฌธํ์๋๋ฐ ๋์ฒด๋ก ์ค๋ช ์ด ์ด๋ ต๊ฑฐ๋ ์๋ต์ด ๋ง๋ค.. ์ฝ๋ ์ค๋ช ๋ ์์ธํ์ง ์์ ์์ฌ์์ด ์์๋ค. (ํนํ, ๋ธ๋ก๊ทธ์ ์๋ ํ๋ ๊ทธ๋ฆผ์ ์์ด๋ ๊ฒ ๋ฑ๋ฑํ๊ฑธ๊น.. ์ ๋ชจ๋ฅด๋ ์ฌ๋์๊ฒ ๊ฑฐ๋ถ๊ฐ์ด ๋ ๋ค) ์ง์ ํ๋ํ๋ ๊ทธ๋ ค๊ฐ๋ณด๋ฉฐ ์ดํดํ ๋์ ๊นจ๋ฌ์์ ๋ค๋ฅธ ๋ถ๋ค๊ป ์์ธํ๊ณ ์ฝ๊ฒ, ๋ง์น ์๋ฌด๊ฒ๋ ๋ชจ๋ฅด๋ ์ด๋ฆฐ ์์ด์๊ฒ ์ค๋ช ํ๋ฏ์ด ์ค๋ช ํด๋ณด๋ ค๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๊ฐ์ด ์ง๋๋ฉด ์์ด๋ฒ๋ฆฌ๋ ๋ฏธ๋์ ๋๋ฅผ ์ํ์ฌ ์์ธํ ๊ธฐ์ ํด๋ณด์๋ค. ์์ธํ ์์๋ถํฐ ์ ์ ๊ณผ์ ์ ์ถ์ํํด๋๊ฐ๋ฏ๋ก ์ดํดํ๊ธฐ ์ฌ์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ด๋? ๊ทธ๋ํ์ ํ ์ ์ (Vertex ๋๋ Node)์์ ๋ชจ๋ ์ ์ ๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ๊ฐ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ์ ์ฌ์ฉ๋๋ค..
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
- mdn
- JavaScript
- React Query
- ๊ทธ๋ํ
- Browser
- react
- leetcode
- ์ ๋ ฌ
- Python
- ํ์ด์ฌ
- ์๊ณ ๋ฆฌ์ฆ
- error
- ์๋ฌ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- BOJ
- ๋ธ๋ผ์ฐ์
- Context API
- useState
- state
- github
- ๋ฆฌ์กํธ
- DOM
- zustand
- DB
- ์๋ฃ๊ตฌ์กฐ
- ์๋ฐ์คํฌ๋ฆฝํธ
- git
- ํจ์
- Component
- CSS
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |