1. KMP ์๊ณ ๋ฆฌ์ฆํจํด์ ๋ฌธ์ฅ ์์์ ์ข์์ ์ฐ๋ก ๋น๊ตํ๋ ๊ฒ. ๋ธ๋ฃจํธ-ํฌ์ค ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ค๋ฅด๊ฒ ํจํด์ ์์น๋ฅผ ์ข๋ ํจ์จ์ ์ผ๋ก ์ด๋์ํจ๋ค. ํจํด๊ณผ ๋ฌธ์ฅ์ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ์ ๋ ์ค๋ณต์ฐ์ฐ์ ์ต๋ํ ํผํ๋ฉด์ ํจํด์ ์ฐ์ธก์ผ๋ก ์ด๋์ํจ๋ค. ์ด๋ฅผ ์ํด์๋ ๋ฌธ์ฅ์ ๋ถ์ผ์น ๋ฐ์ ์, ์ผ๋ง๋งํผ ๊ฑด๋ ๋๋ ํ์ ๋น๊ต์ฐ์ฐ์ ํ ๊ฒ์ธ๊ฐ๋ฅผ ํ๋จํ์ฌ์ผ ํ๋ค. 2. ์คํจํจ์(ํ์ด ๋ฐฐ์ด)KMP ์๊ณ ๋ฆฌ์ฆ์์ ํ์ ๋ฌธ์์ด์ ์ ๋์ฌ์ ์ ๋ฏธ์ฌ์ ์ผ์น ๋ถ๋ถ์ ๊ณ์ฐํ์ฌ ๋ฐฐ์ด์ ํํ๋ก ์ ์ฅํ๋ ํจ์i๋ ์ ๋ฏธ์ฌ ๊ฐ๋ฆฌํค๋ ์ธ๋ฑ์ค, len์ ์ ๋์ฌ ๊ฐ๋ฆฌํค๋ ์ธ๋ฑ์ค7๋ฒ์งธ : 6๋ฒ์งธ์ len=2, i=5์ผ ๋, A๊ฐ ์ด๋ฏธ ์ผ์นํ๋ ์ฌ์ค์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ด์ฉํ๊ธฐ ์ํด len์ lps[len-1]๋ก ์ด๋ํ๋ ๊ฒ. ์ด๋ KMP ์๊ณ ๋ฆฌ์ฆ ์๋ฆฌ์ ๋์ผํ๋ค.๋
ธ..
1. ๋ผ๋น-์นดํ ์๊ณ ๋ฆฌ์ฆ๋ผ๋น-์นดํ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์์ด์ ํด์ฑ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ํด์ ๊ฐ์ผ๋ก ๋น๊ตํ๋ ์๊ณ ๋ฆฌ์ฆ ํด์ ๊ฐ์ด ๋ค๋ฅด๋ค๋ฉด ๋ ๋ฌธ์์ด์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ ๋ณด์ฅํ๋ค. ํ์ง๋ง ๋ฌธ์์ด์ด ๋ฌ๋ผ๋ ํด์ ๊ฐ์ด ๊ฐ์ ์ ์๋ค.๐ ์ฐ๋ฆฌ๋ ์ด๊ฒ์ Spurious Hit์ด๋ผ ํ๋ค.Spurious Hit ๋๋ฌธ์ ํด์ ๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ ์ถ๊ฐ๋ก ๋ฌธ์์ด์ด ๊ฐ์์ง ๋น๊ตํ๋ ์์
์ด ํ์ํ๋ค. ์ด ํน์ง์ ์ด์ฉํ์ฌ ๋ผ๋น-์นดํ ์๊ณ ๋ฆฌ์ฆ์ ํจํด์ ํด์๊ฐ์ ํ
์คํธ์ ๋ถ๋ถ ๋ฌธ์์ด์ ํด์๊ฐ๊ณผ ์ผ์นํ๋์ง ๋น๊ตํ๋ ์์
์ ํ๋ค. ๋ฐ๋ผ์ ๋ผ๋น-์นดํ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ ๋ฌธ์์ด์ ๋ํ ํด์ ๊ฐ์ ๊ณ์ฐํด์ผ ํ๋ค.๊ธธ์ด๊ฐ m์ธ ํจํด ์์ฒด๊ธธ์ด๊ฐ m์ธ ํ
์คํธ์ ๋ชจ๋ ๋ถ๋ถ ๋ฌธ์์ด 2. ํด์ ํจ์์ฌ์ฉ ์์๐ฉ rolling hash๊ฐ ์์น์์ ํด์ ํจ์๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ..
1. ์์ ํ์ ์๊ณ ๋ฆฌ์ฆ์ฆ, ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ํ์ํ๋ฉด์ ์๊ตฌ์กฐ๊ฑด์ ์ถฉ์กฑ๋๋ ๊ฒฐ๊ณผ๋ง์ ๊ฐ์ ธ์จ๋ค.์ด ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ ฅํ ์ ์ ์์ธ ์์ด 100% ํ๋ฅ ๋ก ์ ๋ต๋ง์ ์ถ๋ ฅํ๋ค. BUT ๊ทธ๋งํผ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ๋๋ค.๋๋น ์ฐ์ ํ์(BFS)์ ๊ด๋ จ์ด ๊น๋ค. ๐ ์์ ํ์ ์๊ณ ๋ฆฌ์ฆ๊ณผ์ ์ฐจ์ด์ ์์ ํ์ ์๊ณ ๋ฆฌ์ฆ : ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ ๋ถ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ๋ ๊ฒ๋ณด๋ค ํ์ํ๋ค๋ ๊ณผ์ ์ ์ค์ ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ : ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํ์ํ๊ณ ๋ต์ ๋์ถํ๋ ์๊ณ ๋ฆฌ์ฆ, ๊ฒฐ๊ณผ๋ฅผ ์ฐพ๋ ๊ฒ์ ์ค์ 2. ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ์ ํ ๊ตฌ์กฐ๋ก ๊ตฌ์กฐํํ๋ค.๊ตฌ์กฐํ๋ ๋ฌธ์ ๊ณต๊ฐ์ ์ ์ ํ ๋ฐฉ๋ฒ์ผ๋ก ํด๋ฅผ ๊ตฌ์ฑํ ๋๊น์ง ํ์ํ๋ค.๊ตฌ์ฑ๋ ํด๋ฅผ ์ ๋ฆฌํ๋ค. 3. ์ฌ์ฉ ์กฐ๊ฑด ๋ฐ ์์ ๋ฌธ์ ์์ ๋ฌ์ฑํ๊ณ ์ ..
๐ฉ LCS, ์ต์ฅ ๊ณตํต ๋ถ๋ถ ์์ด Longest Common Subsequence (cf. Longest Common Substring ์ต์ฅ ๊ณตํต ๋ฌธ์์ด) ์ต์ฅ ๊ณตํต ๋ถ๋ถ ์์ด์ ๊ฒฝ์ฐ, ๋ถ๋ถ์์ด์ด๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ์ฌ์ด๋ฅผ ๊ฑด๋๋ฐ์ด ๊ณตํต๋๋ฉด์ ๊ฐ์ฅ ๊ธด ๋ถ๋ถ ๋ฌธ์์ด์ ์ฐพ์ผ๋ฉด ๋๋ค.์ต์ฅ ๊ณตํต ๋ฌธ์์ด์ ๊ฒฝ์ฐ, ๋ถ๋ถ ๋ฌธ์์ด์ด ์๋๊ธฐ ๋๋ฌธ์, ํ ๋ฒ์ ์ด์ด์ ธ ์๋ ๋ฌธ์์ด๋ง ๊ฐ๋ฅํ๋ค. ๐ฉ ์ต์ฅ ๊ณตํต ๋ฌธ์์ดif i == 0 or j == 0: # ๋ง์ง ์ค์ LCS[i][j] = 0elif string_A[i] == string_B[j]: LCS[i][j] = LCS[i - 1][j - 1] + 1else: LCS[i][j] = 0 LCS๋ผ๋ 2์ฐจ์ ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ๋ ๋ฌธ์์ด์ ํ, ์ด์ ๋งค์นญํ๋ค. ํธ์์ i, j๊ฐ..
๐ฉ n๊ฐ์ ํ๋ ฌ์ ์ฐ์์ ์ผ๋ก ๊ณฑํ ๋ ์ต์์ ๊ธฐ๋ณธ ๊ณฑ์
ํ์๋ฅผ ๊ฐ๋ ํ๋ ฌ์ ๊ณฑ์
์์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ i x j ํ๋ ฌ๊ณผ j x k ํ๋ ฌ์ ๊ณฑํ๊ธฐ ์ํด์๋ i x j x k ๋ฒ ๋งํผ์ ๊ณฑ์
์ด ํ์ํ๋ค.์ฐ์์ ์ผ๋ก ํ๋ ฌ์ ๊ณฑํ ๋ ์ด๋ค ํ๋ ฌ์ ๋จผ์ ์ํํ๋๋์ ๋ฐ๋ผ์ ํ์ํ ์ด ๊ณฑ์
์ ํ์๊ฐ ๋ฌ๋ผ์ง๋ค.๐ฉ ์ฐ์ํ๋ ฌํ๋ ฌ์ ๊ณฑ์
์ ์๋์ ๊ฐ์ด ๊ฒฐํฉ๋ฒ์น์ด ์ฑ๋ฆฝํ๋ค.A x (B x C) = (A x B) x C๊ทธ๋ฌ๋, ํ๋ ฌ์ ๊ณฑํ๋ ์์์ ๋ฐ๋ผ ๊ณฑํ๋ ํ์๊ฐ ๋ฌ๋ผ์ง๋ค. ๐ ์ฆ, ์ฐ์ํ๋ ฌ ์ต์๊ณฑ์
์๊ณ ๋ฆฌ์ฆ์ ํ๋ ฌ๊ณฑ์
์์ ๊ณฑํ๋ ์์์ ๋ฐ๋ผ ๊ณฑ์
์ ํ์๊ฐ ๋ฌ๋ผ์ง๋๋ฐ ์ด๋ฌํ ๋ฒ์น์ ์ด์ฉํ์ฌ ์ต์๋ก ๊ณฑํ๋ ํ์๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๋ค. ์ฐ์ํ๋ ฌ ์ต์๊ณฑ์
์๊ณ ๋ฆฌ์ฆ ์ฌ๊ท๊ด๊ณ์ โจ ์์ ๋ก ์ดํดํ๋ฉด ์ฝ๊ฒ ์ดํด ๊ฐ๋ฅ!EX) A(20x1),..
๐ ์ต๋ ์ ๋ ๋ฌธ์ (=๋คํธ์ํฌ ํ๋ก์ฐ) ํน์ ํ ์ง์ ์์ ๋ค๋ฅธ ์ง์ ์ผ๋ก, ์ผ๋ง๋ ๋ง์ ์ ๋์ ๋์์ ๋ณด๋ผ ์ ์๋์ง ๊ณ์ฐํ๋ ๋ฌธ์ โ๏ธ ์ฉ์ด ์ ๋ฆฌ ์ฉ๋ : c(u,v) ์ ์ u์์ v๋ก ์ ์กํ ์ ์๋ ์ต๋ ์ฉ๋ ์ ๋ : f(u,v) ์ ์ u์์ v๋ก ์ค์ ํ๋ฅด๊ณ ์๋ ์ ๋ ์์ฌ ์ฉ๋ : r(u,v) = c(u,v) - f(u,v) ๊ฐ์ ์ ์ฉ๋๊ณผ ์ค์ ๋ก ํ๋ฅด๋ ์ ๋์ ์ฐจ์ด ์์ค s ๋ชจ๋ ์ ๋์ด ์์๋๋ ์ ์ ์ฑํฌ t ๋ชจ๋ ์ ๋์ด ๋์ฐฉํ๋ ์ ์ ์ฆ๊ฐ ๊ฒฝ๋ก ์์ค์์ ์ฑํฌ๋ก ์ ๋์ ๋ณด๋ผ ์ ์๋ ๊ฒฝ๋ก โ๏ธ ๊ธฐ๋ณธ ์์ฑ ์ฉ๋ ์ ํ ์์ฑ f(u,v)
๐ฉ ๋ชจ๋ ์ ์ ์์ ๋ํด์ ๋ ์ฌ์ด์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ์ ์๋ค. cf. ๋ค์ต์คํธ๋ผ : ํ ์์์ ์์ ๋ค๋ฅธ ์ ์ ๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ ๋จ, ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ ๊ฐ์ค์น๊ฐ ์๋ ๋ฌด์กฐ๊ฑด ์์์ ๊ทธ๋ํ์์ ๋์ a ๐ b๋ก ์ด๋ํ ๋, ๊ฒฝ์ ์ ์ c ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ ์ ์ ์ฌ์ด์ ์ด๋ค ๊ฒฝ์ ์ ์ด ์กด์ฌํ๋ค๋ฉด ๊ฒฝ์ ์ ์ ๊ฑฐ์ณ๊ฐ๋ ๊ฒ์ ํ์ธํ๋ฉด์ ๋ ์งง์ ๊ฒ์ ์ ํ ๐ฉ ๊ตฌํ 1. ์์ ๊ทธ๋ํ๋ฅผ ์ฐ์ ๋ฐฐ์ด๋ก ๊ตฌํํด์ผ ํ๋ค. ์ด๊ธฐ๊ฐ์ ์์ฃผ ํฐ ๊ฐ์ผ๋ก ์ค์ ํด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๊ธฐ ์์ ๊น์ง์ ๋น์ฉ์ 0์ผ๋ก ์ค์ ํ๋ค. 2. ์์์ ์ i, ๋์ ์ j, ๊ฒฝ์ ์ ์ k๋ผ ํ ๋, ๊ตฌํ๋ ์์ ๋ค์๊ณผ ๊ฐ๋ค. adj[i][j] = MIN(adj[i][j], adj[i][k] + adj[k][j]) ํญ์ ์์ ๊ฐ๋ง์ ๊ฐ๊ฒ ๋๋ฏ๋ก ์ง์ ์ ์ผ๋ก ..
๐ฉ ํ ๋
ธ๋์์ ๋ค๋ฅธ ๋
ธ๋๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ์ ๊ฐ์ค์น๊ฐ ์์์ผ ๋๋ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ์ ์๋ค. ๐ ๋ค์ต์คํธ๋ผ vs ๋ฒจ๋ง-ํฌ๋ 1๋ฒ ๋
ธ๋์์ 3๋ฒ ๋
ธ๋๋ก ๊ฐ๋ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ค๊ณ ํ ๋, ๊ฒฝ๋ก1. 1๋ฒ ๐ 3๋ฒ (๋น์ฉ : 10) ๐ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๊ฒฝ๋ก2. 1๋ฒ ๐ 2๋ฒ ๐ 3๋ฒ (๋น์ฉ : 5) ๐ ๋ฒจ๋ง-ํฌ๋ ์๊ณ ๋ฆฌ์ฆ โ๏ธ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๋งค๋ฒ ๋ฐฉ๋ฌธํ์ง ์์ ๋
ธ๋ ์ค์์ ์ต๋จ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ์งง์ ๋
ธ๋๋ฅผ ์ ํํ์ฌ ํ ๋จ๊ณ์ฉ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด๋๊ฐ๋ค. ์์ ๊ฐ์ ์ด ์๋ค๋ฉด ์ต์ ์ ํด๋ฅผ ๊ตฌํ ์ ์๋ค. ์๊ฐ ๋ณต์ก๋๊ฐ ๋น ๋ฅด๋ค (O ElogV) โ๏ธ ๋ฒจ๋ง-ํฌ๋ ์๊ณ ๋ฆฌ์ฆ (์ ์ -1)๋ฒ์ ๋งค ๋จ๊ณ๋ง๋ค ๋ชจ๋ ๊ฐ์ ์ ์ ๋ถ ํ์ธํ๋ฉด์ ๋ชจ๋ ๋
ธ๋๊ฐ์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด๋๊ฐ๋ค. cf. ๋ค์ต์คํธ๋ผ์์ ์ฐจ..
๐ฉ์์ ๊ฐ์ค์น(์์ ๊ฐ์ , ์์ ๊ฐ)๊ฐ ์๋ ๊ทธ๋ํ์ ํ ๋
ธ๋์์ ๊ฐ ๋ชจ๋ ๋
ธ๋๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ ๋ ๊ผญ์ง์ ๊ฐ์ ๊ฐ์ฅ ์งง์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด์ง๋ง ํ ๊ผญ์ง์ ์ "์์ค" ๊ผญ์ง์ ์ผ๋ก ๊ณ ์ ํ๊ณ , ๊ทธ๋ํ์ ๋ค๋ฅธ ๋ชจ๋ ๊ผญ์ง์ ๊น์ง์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ต๋จ ๊ฒฝ๋ก ํธ๋ฆฌ๋ฅผ ๋ง๋๋ ๊ฒ์ผ๋ก๋ ์ฌ์ฉ ๐ฉ ๊ทธ๋ฆฌ๋์ด์ ๋์ ๊ณํ๋ฒ ๊ทธ๋ฆฌ๋ : ๋ฐฉ๋ฌธํ์ง ์์ ๋
ธ๋ ์ค์์ ๊ฐ์ฅ ๋น์ฉ์ด ์ ์ ๋
ธ๋๋ฅผ ์ ํ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ : ํด๋น ๋
ธ๋๋ก๋ถํฐ ๊ฐ ์ ์๋ ๋
ธ๋๋ค์ ๋น์ฉ์ ๊ฐฑ์ ๐ ๊ฐ๋ฅํ ์ ์ ๋น์ฉ์ผ๋ก ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ํด๋ต์ ๋๋ฌํ๋ ๊ฒฝ๋ก๋ฅผ ์ฐพ์๋ด๋ ๋๋ถ๋ถ์ ๋ฌธ์ ์ ์์ฉ๋๋ค. ๐ฉ ์์ A๋
ธ๋์์ ์ถ๋ฐํ์ฌ F๋
ธ๋๋ก ๊ฐ๋ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฌธ์ S = ๋ฐฉ๋ฌธํ ๋
ธ๋๋ค์ ์งํฉ d[N] = A -> N๊น์ง ๊ณ์ฐ๋ ์ต๋จ ๊ฑฐ..
๐ฉ ์์ ์ ์ ์์ ์ ์ ์ ์ถ๊ฐํด๊ฐ๋ฉฐ ๋จ๊ณ์ ์ผ๋ก ํธ๋ฆฌ๋ฅผ ํ์ฅํ๋ ๊ธฐ๋ฒ ์ฆ, ํ์ ์ ์ ์ ๋ํด ์ฐ๊ฒฐ๋ ์ธ์ ์ ์ ๋ค ์ค ๋น์ฉ์ด ๊ฐ์ฅ ์ ์ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ์ ์ ์ ์ ํ ๐ฉ ๋์ 1. ์์ ๋จ๊ณ๋ ์์ ๋
ธ๋๋ง์ด ์ต์ ์ ์ฅ ํธ๋ฆฌ ์งํฉ์ ์ํ๋ค. 2. ํธ๋ฆฌ ์งํฉ์ ์ํ ์ ์ ๋ค๊ณผ ์ธ์ ํ ์ ์ ๋ค ์ค ๊ฐ์ฅ ๋ฎ์ ๊ฐ์ค์น์ ๊ฐ์ ๊ณผ ์ฐ๊ฒฐ๋ ์ ์ ์ ๋ํด ๊ฐ์ ๊ณผ ์ ์ ์ ์ต์ ์ ์ฅ ํธ๋ฆฌ ์งํฉ์ ๋ฃ๋๋ค (์ฌ์ดํด์ ๋ง๊ธฐ ์ํด ์ฐ๊ฒฐ๋ ์ ์ ์ด ์ด๋ฏธ ํธ๋ฆฌ์ ์ํ๋ค๋ฉด ๊ทธ ๋ค์ ์์๋ฅผ ๋ฃ๋๋ค) 3. 2๋ฒ ๊ณผ์ ์ MST ์งํฉ์ ์์ ๊ฐ์๊ฐ ๊ทธ๋ํ์ ์ ์ ์ ๊ฐ์๊ฐ ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค. ์์ ์ ์ A A์ ์ธ์ ํ ๋
ธ๋ B, C ์ค C๊ฐ ๊ฐ์ฅ ๊ฐ์ค์น๊ฐ ๋ฎ์ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์์ผ๋, C๋ฅผ ์งํฉ์ ๋ฃ๊ณ ๋น์ฉ์ AC ๊ฐ์ค์น๋ฅผ ๋ํ๋ค. AC์ ์ธ์ ํ ๋
ธ๋๋ค..
๐ฉ ์ต์ ์ ์ฅ ํธ๋ฆฌ ์ ์ฅ ํธ๋ฆฌ ์ค ์ต์ ๋น์ฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ ๐ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ : ๊ฐ์ฅ ์ ์ ๋น์ฉ์ผ๋ก ๋ชจ๋ ๋
ธ๋ ์ฐ๊ฒฐ ๊ฐ๋ฅ ๐ ์ ์ฅ ํธ๋ฆฌ ํ๋์ ๊ทธ๋ํ๊ฐ ์์ ๋ ๋ชจ๋ ๋
ธ๋๋ฅผ ํฌํจํ๋ฉด์ ์ฌ์ดํด์ด ์กด์ฌํ์ง ์๋ ๋ถ๋ถ ๊ทธ๋ํ ๐ ์ต์ ์ ์ฅ ํธ๋ฆฌ ์ ์ฅ ํธ๋ฆฌ ์ค์์๋ ์ต์ํ์ ๋น์ฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์ ์ฅ ํธ๋ฆฌ ์ผ์ชฝ ๊ทธ๋ํ์์ ์ต์ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ์ฐพ์ผ๋ฉด 25๋ฅผ ์ ์ธํ 2๊ฐ์ ๊ฐ์ (23+13)์ผ๋ก ์ด๋ฃจ์ด์ง ์ ์ฅํธ๋ฆฌ ์ฆ, ์ ์ฅ ํธ๋ฆฌ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์ ์ต์ ๋น์ฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์ ์ฅ ํธ๋ฆฌ ๐ฉ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ ๋์๊ณผ์ 1. ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋น์ฉ์ ๋ฐ๋ผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. 2. ๊ฐ์ ์ ํ๋์ฉ ํ์ธํ๋ฉด์ ํ์ฌ์ ๊ฐ์ ์ด ์ฌ์ดํด์ ๋ฐ์์ํค๋์ง ํ์ธ ๐ ์ฌ์ดํด ๋ฐ์ ์ฌ๋ถ์ ๋ฐ๋ผ, ์ต์ ์ ์ฅ..
๐ฉ ๊ท ํ ํ์ ํธ๋ฆฌ ์ด์ง ํธ๋ฆฌ๋ฅผ ํ์ฅํด ํ๋์ ๋
ธ๋๊ฐ ๊ฐ์ง ์ ์๋ ์์ ๋
ธ๋์ ์ต๋ ์ซ์๊ฐ 2๋ณด๋ค ํฐ ํธ๋ฆฌ ๊ตฌ์กฐ ํค์ ๊ฐ์ (t-1)~(2t-1) ๊ฐ ์์ ๋
ธ๋์ ๊ฐ์ t~2t ๊ฐ ๐ฉ ์ฑ์ง 1. ๋
ธ๋์๋ 2๊ฐ ์ด์์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ ์ ์์ผ๋ฉฐ, ํญ์ ์ ๋ ฌ๋ ์ํ๋ก ์ ์ฅ๋๋ค. 2. ๋ด๋ถ ๋
ธ๋๋ ceil(m/2) ~ m ๊ฐ์ ์์์ ๊ฐ์ง ์ ์๋ค. ์ต๋ m๊ฐ์ ์์์ ๊ฐ์ง ์ ์๋ Bํธ๋ฆฌ๋ฅผ m์ฐจ Bํธ๋ฆฌ๋ผ ํ๋ค. ceil() ํจ์๋ ์ฌ๋ฆผ ํจ์์ด๋ค. ์ฆ, ceil(3/2) = 2์ด๋ค. ์ฆ, 3์ฐจ Bํธ๋ฆฌ์ ๋ฆฌํ ๋
ธ๋์ ๋ฃจํธ๋
ธ๋๋ฅผ ์ ์ธํ ๋ด๋ถ ๋
ธ๋๋ 2-3๊ฐ์ ์์์ ๊ฐ์ง ์ ์๋ค. 3. ํน์ ๋
ธ๋์ ๋ฐ์ดํฐ(key)๊ฐ K๊ฐ๋ผ๋ฉด, ์์ ๋
ธ๋์ ๊ฐ์๋ K+1๊ฐ์ฌ์ผ ํ๋ค. ํน์ ๋
ธ๋์ ๋ฐ์ดํฐ๊ฐ 2๊ฐ๋ผ๋ฉด, ์์ ๋
ธ๋๋ ..
'๐ฉโ๐ป ํ๋ก๊ทธ๋๋ฐ/๐ ์๊ณ ๋ฆฌ์ฆ' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
๋จ์ถํค
๋ด ๋ธ๋ก๊ทธ
๋ด ๋ธ๋ก๊ทธ - ๊ด๋ฆฌ์ ํ ์ ํ |
Q
Q
|
์ ๊ธ ์ฐ๊ธฐ |
W
W
|
๋ธ๋ก๊ทธ ๊ฒ์๊ธ
๊ธ ์์ (๊ถํ ์๋ ๊ฒฝ์ฐ) |
E
E
|
๋๊ธ ์์ญ์ผ๋ก ์ด๋ |
C
C
|
๋ชจ๋ ์์ญ
์ด ํ์ด์ง์ URL ๋ณต์ฌ |
S
S
|
๋งจ ์๋ก ์ด๋ |
T
T
|
ํฐ์คํ ๋ฆฌ ํ ์ด๋ |
H
H
|
๋จ์ถํค ์๋ด |
Shift + /
โง + /
|
* ๋จ์ถํค๋ ํ๊ธ/์๋ฌธ ๋์๋ฌธ์๋ก ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ํฐ์คํ ๋ฆฌ ๊ธฐ๋ณธ ๋๋ฉ์ธ์์๋ง ๋์ํฉ๋๋ค.