๐ ์๊ณ ๋ฆฌ์ฆ/๋ฌธ์์ด

๋ณด์ด์ด-๋ฌด์ด(Boyer-Moore) ์๊ณ ๋ฆฌ์ฆ
1. ๊ฐ๋ ๐ธ ๋ณด์ด์ด-๋ฌด์ด(Boyer-Moore) ์๊ณ ๋ฆฌ์ฆ์ skip์ด๋ผ๋ ๊ฒ์ ํ์ฉํ ๋ฌธ์์ด ๋งค์นญ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ฌ๊ธฐ์ skip์ด๋ ๋ฌธ์์ด์ ๋น๊ตํ ๋ ๋ถํ์ํ ๋น๊ต๊ฐ ์๋ค๋ฉด ๊ฑด๋๋ธ ์ ์๋๋ก ๋์์ฃผ๋ ๊ฒ์ด๋ค. (์ ํํ ๋ช ์นญ์ ์๋์ง๋ง ์๋์ ๋์๋ฐฉ์์ ๋ณธ๋ค๋ฉด ์ skip์ด๋ผ๊ณ ๋ถ๋ฆฌ๋์ง ์ ์ ์์ ๊ฒ์ด๋ค.) ๋ณด์ด์ด-๋ฌด์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์์ด์ ๋น๊ตํ ๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ถ๋ถ๋ณด๋ค๋ ๋ท๋ถ๋ถ์์ ๋ถ์ผ์น๊ฐ ์ผ์ด๋ ํ๋ฅ ์ด ๋๋ค๋ ์ฑ์ง์ ํ์ฉํ๋ค. ๊ทธ๋์ ๋น๊ตํ ๋ฌธ์์ด๊ณผ ํจํด์ ์๋ถ๋ถ๋ถํฐ ํ์ธํ๋ ๊ฒ์ด ์๋ ๋ท๋ถ๋ถ๋ถํฐ ํ์ธํ๊ฒ ๋๋ค. 2. ๋์๋ฐฉ์ ๐ฌ ๊ธฐ๋ณธ์ ์ธ ๋์๋ฐฉ์์ ์ผ์นํ์ง ์์ ๋ฌธ์๋ฅผ ๋ง๋ ๊ฒฝ์ฐ ํจํด์์ ์ผ์นํ๋ ๋ฌธ์๋ฅผ ์ฐพ์์ ์ด๋ํ ํ ๋น๊ต๋ฅผ ๋ค์ ์์ํ๋ค๋ ๊ฒ์ด๋ค. ๋ณธ๋ฌธ์ 'abphone' ํจํด์ 'phon..

๋ผ๋น-์นดํ(Rabin-Karp) ์๊ณ ๋ฆฌ์ฆ
1. ๊ฐ๋ โฝ ๋ผ๋น-์นดํ(Rabin-Karp) ์๊ณ ๋ฆฌ์ฆ์ด๋ ํด์ฑ(Hashing)์ ์ด์ฉํ ๋ฌธ์์ด ๋งค์นญ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋น๊ตํ๊ณ ์ ํ๋ ๋ฌธ์๋ค๊ณผ ํจํด์ ๋ฌธ์๋ค์ ์ผ์ผ์ด ๋น๊ตํ๋ ๋์ ์ ๋ฌธ์์ด์ ํด์๊ฐ์ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก ์งํ๋๋ค. 2. ๋์๋ฐฉ์(์ฐ์ต์ฉ) ๐ ๋์ ๋ฐฉ์์ ์๋์ ๊ฐ๋ค. ํด์ ํจ์๋ฅผ ์ค์ ํ๋ค. ํด์ ํจ์๋ฅผ ์ด์ฉํ์ฌ ํจํด์ ํด์๊ฐ์ ๊ตฌํ๋ค. ๋น๊ตํ๊ณ ์ ํ๋ ๋ฌธ์์ด์ ํด์๊ฐ์ ๊ตฌํ๋ค. ์ผ์นํ๋ฉด ํจํด๊ณผ ์ฐพ์ ๋ฌธ์์ด์ 1:1 ๋น๊ตํ๋ค. ์ผ์นํ์ง ์์ผ๋ฉด ๋น๊ตํ๊ณ ์ ํ๋ ๋ฌธ์์ด์ ํ ์นธ ๋ค๋ก ์ฎ๊ฒจ์ 3๋ฒ๋ถํฐ ๋ค์ ์์ํ๋ค. ํด์๊ฐ์ด ๊ฐ๋๋ผ๋ 1:1 ๋งค์นญ์ ํตํด์ ์ต์ข ์ ์ผ๋ก ํจํด๊ณผ ๋น๊ตํ๊ณ ์ ํ๋ ๋ฌธ์์ด์ด ์ผ์นํ๋์ง ํ์ธํ๋ ์ ์ฐจ๊ฐ ํ์ํ๋ค. ๊ทธ ์ด์ ๋ ํด์๊ฐ์ด ๊ฐ๋ค๊ณ ํด์ ๋ฌด์กฐ๊ฑด ๊ฐ์ ๋ฌธ์์ด์ด๋ผ๊ณ ๋ณด์ฅํ ..