์ด์ ๊ธ์ ์ด์ด์ง๋ ๋ด์ฉ์ผ๋ก, ๊ฐ์ฉ ๋ธ๋ก์ ๊ด๋ฆฌํ๋ ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ธ ๋ฌต์์ ๋ฆฌ์คํธ ๋ฐฉ์์ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ง ๋ฌต์์ ๋ฆฌ์คํธ ๋ฐฉ์ (Implicit List) ๐ ํค๋(Header) ๋ชจ๋ ํ ๋น๊ธฐ๋ ๋ธ๋ก ๊ฒฝ๊ณ๋ฅผ ๊ตฌ๋ถํ๊ณ , ํ ๋น๋ ๋ธ๋ก๊ณผ ๊ฐ์ฉ ๋ธ๋ก์ ๊ตฌ๋ถํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ํ์๋ก ํฉ๋๋ค. ๋๋ถ๋ถ์ ํ ๋น๊ธฐ๊ฐ ํด๋น ์ ๋ณด๋ฅผ ๋ธ๋ก ๋ด๋ถ์ ์ ์ฅํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ถ๊ฐ์ ์ผ๋ก 1๋ธ๋ก์ ์ฌ์ฉํ์ฌ ๋ธ๋ก ์์ ๋ธ๋ก์ ํฌ๊ธฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด๋ ์ถ๊ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ 1 ์๋๋ฅผ ํค๋(Header)๋ผ๊ณ ํฉ๋๋ค. ํค๋๋ ๋ธ๋ก ํฌ๊ธฐ์ ๋ธ๋ก์ด ํ ๋น๋์๋์ง, ํน์ ๊ฐ์ฉ ์ํ์ธ์ง๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค. ๋ง์ฝ ๋๋ธ ์๋(8๋ฐ์ดํธ) ์ ๋ ฌ ์ ์ฝ์กฐ๊ฑด์ ์ค์ ํ๋ค๋ฉด, ๋ธ๋ก ํฌ๊ธฐ๋ ํญ์ 8์ ๋ฐฐ์์
๋๋ค. ์ฆ ๋ธ๋ก ํฌ๊ธฐ์ ํ์ 3๋นํธ๋ ..
๐ฅ Computer Science
๐ง ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ธฐ ์ ์๋ ๊ทธ ํฌ๊ธฐ๋ฅผ ์ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ฐํ์ ์์ ํ๋ํ๊ธฐ ์ํด ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ฌ์ฉํฉ๋๋ค. ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ธฐ๋ ํ(heap)์ด๋ผ๊ณ ํ๋ ํ๋ก์ธ์ค์ ๊ฐ์๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ด๋ฆฌํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์์คํ
๋ง๋ค ๋ค๋ฅด์ง๋ง, ์ผ๋ฐํ์ ์ค๋ฅ๋ฅผ ๋ฒํ์ง ์๋ ํ๋์์, ํ ์์ญ์ด ์ด๊ธฐํ๋์ง ์์ ๋ฐ์ดํฐ ์์ญ ์ดํ๋ถํฐ ์์ํ์ฌ ์์ชฝ(์ฃผ์๊ฐ ์ฆ๊ฐํ๋ ๋ฐฉํฅ)์ผ๋ก ์ปค์ง๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด๋ผ ๊ฐ์ ํ๊ฒ ์ต๋๋ค. ๊ฐ๊ฐ์ ํ๋ก์ธ์ค์ ํ ๋น๋๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ์ฌ, ์ปค๋์ ํ ์์ญ์ ๊ผญ๋๊ธฐ๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ(brk ptr)๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ธฐ๋ ํ์ ๋ค์ํ ํฌ๊ธฐ์ ๋ธ๋ก ๋จ์๋ก ๊ด๋ฆฌํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๋ฐฉ๋ฒ์๋ ๋ช
์์ (Explicit)์ผ๋ก ํ ๋นํ๋ ๋ฐฉ๋ฒ๊ณผ ๋ฌต์์ (Implici..
๐ง Trace00 EOF(ctrl + d) ์
๋ ฅ์ ๋ฐ์ผ๋ฉด ํ๋ก๊ทธ๋จ์ ์ข
๋ฃ์์ผ์ผ ํฉ๋๋ค. ๋๋ณด๊ธฐ main๋ฌธ์ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฏธ ๊ตฌํ๋์ด ์๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. while(1)์ ํตํด ์์ ๊ณ์ ์คํ์ํค๋ค๊ฐ ctrl + d๊ฐ ์
๋ ฅ๋๋ฉด ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค. ๐ง Trace01 quit ๋ช
๋ น์ด๋ฅผ built-in command๋ก ๋ฑ๋กํฉ๋๋ค. quit์ด ์
๋ ฅ๋๋ฉด ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋์ด์ผ ํฉ๋๋ค. ๋๋ณด๊ธฐ void eval(char *cmdline) { cahr * argv[MAXARGS]; parseline(cmdline, argv); builtin_cmd(argv); return; } int builtin_cmd(char **argv) { char * cmd = argv[0]; if (!strcmp(cmd,..
๐ง ๋จ์ผ ์ฌ์ดํด ๊ตฌํ ๋จ์ผ ์ฌ์ดํด ๊ตฌํ์ ๋น๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋ค ํ๋๋ผ๋ ๋นํจ์จ์ฑ ๋๋ฌธ์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ด์ ๋ ๋๋ฌด ๋ถ๋ช
ํ๋ฐ, ๋จ์ผ ์ฌ์ดํด ์ค๊ณ์์๋ ํด๋ญ ์ฌ์ดํด์ด ๋ชจ๋ ๋ช
๋ น์ด์ ๋ํด์ ๊ฐ์ ๊ธธ์ด๋ฅผ ๊ฐ์ ธ์ผ ํ๊ธฐ ๋๋ฌธ์ ํด๋ญ ์ฌ์ดํด์ ๊ฐ์ฅ ์ค๋ ๊ฑธ๋ฆฌ๋ ๋ช
๋ น์ด์ ๋ง์ถ์ด์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค. ํด๋น ๋ช
๋ น์ด๋ ์ ์ฌ ๋ช
๋ น์ด๋ผ๋ ๊ฒ์ด ๊ฑฐ์ ํ์คํ๋ฐ, ์ ์ฌ ๋ช
๋ น์ด๋ ๋ช
๋ น์ด ๋ฉ๋ชจ๋ฆฌ, ๋ ์ง์คํฐ ํ์ผ, ALU, ๋ฐ์ดํฐ ๋ฉ๋ชจ๋ฆฌ, ๋ ์ง์คํฐ ํ์ผ์ 5๊ฐ ๊ธฐ๋ฅ์ ๋ชจ๋ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๐ง ํ์ดํ๋ผ์ด๋์ ์ดํด ํ์ดํ๋ผ์ด๋์ ์ฌ๋ฌ ๋ช
๋ น์ด๊ฐ ์ค์ฒฉ๋์ด ์คํ๋๋ ๊ตฌํ ๊ธฐ์ ์
๋๋ค. ํ์ดํ๋ผ์ด๋์ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ์ธํ์ ์งํํ๋ ์์๋ฅผ ๋ค์ด ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฐ์ ํ์ดํ๋ผ์ด๋์ ์ฌ์ฉํ์ง ์์ ์ธํ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ธํ๊ธฐ..
๐ง ํ๋ก์ด๋ ์์ฌ ์๊ณ ๋ฆฌ์ฆ ํ๋ก์ด๋ ์์ฌ ์๊ณ ๋ฆฌ์ฆ์ ์์ ์ฌ์ดํด์ด ์๋ ๊ทธ๋ํ ์์ ์กด์ฌํ๋ ๋ชจ๋ ์ ์ ์ ๋ํ์ฌ, ๊ฐ ์ ์ ๊ฐ์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ๊ธฐ๋ณธ ์์ด๋์ด๋ ๊ฑฐ์ณ๊ฐ๋ ์ ์ ์ ๊ธฐ์ค์ผ๋ก ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๊ฒ์
๋๋ค. V = { 1, 2, ..., n } ์ผ๋ก ๋๊ณ , G์ ์์์ ๋ ์ ์ i, j์ ๋ํ์ฌ dist(i, j, k)๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค. ์ ์ (1, 2, ..., k) ๋ง์ path์ ์ค๊ฐ ์ ์ (intermediate vertex)์ผ๋ก ํฌํจ์ํฌ ์ ์์ ๋, i ์์ j๋ก์ ์ต๋จ ๊ฒฝ๋ก์ ๊ธธ์ด ๐ง Recurrence Relation Base Case( k = 0 ) dist (i, j, 0) = 0 : i = j ์ธ ๊ฒฝ์ฐ dist (i, j, 0) = w(i, j)..
๐ง ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ๊ทธ๋ํ G = (V, E) ์์์ ์ ์ u์์ v๋ก์ ๊ฐ์ฅ ์งง์ path์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๋ฅผ ์๋ฏธํฉ๋๋ค. ์ ๋ช
ํ ๋ฐฉ๋ฒ์ผ๋ก๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์์ ๊ฐ์ค์น๋ฅผ ๊ฐ์ง๋ ๊ฐ์ ์ด ์๋ ๊ทธ๋ํ์ ๋ํด์๋ง ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋ค๋ ์ ์ฝ์ด ์์ต๋๋ค. ๐ง Bellman-Ford ์๊ณ ๋ฆฌ์ฆ ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ dp ๊ธฐ๋ฐ์ ์๊ณ ๋ฆฌ์ฆ์
๋๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ ์ ์ s์์ ๊ทธ๋ํ G์ ์กด์ฌํ๋ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ์ผ๋ก์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ฉฐ, ๋งค ๋จ๊ณ๋ง๋ค ํด๋น ์ต๋จ๊ฑฐ๋ฆฌ์ ๊ธธ์ด๋ฅผ ์
๋ฐ์ดํธํ๋ฉฐ ์งํ๋๋ ์๊ณ ๋ฆฌ์ฆ์
๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ฐฉํฅ(directed) ๊ทธ๋ํ๋ฅผ ๊ฐ์ ํ์ง๋ง, ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์ ๋ํด์๋ ์ด๋ฅผ ๋ฐฉํฅ ๊ทธ๋ํ๋ก ์๊ฐํ์ฌ ์ ์ฉํ ์ ์์ต๋๋ค. ๋ฒจ๋งํฌ..
๐ง Edit Distance ์ด๋ค ๋จ์ด์ ๋น์ทํ(๊ฐ๊น์ด) ๋จ์ด๋ ์ด๋ป๊ฒ ์ ์ํ ์ ์์๊น์? ์๋ฅผ ๋ค์ด Word์ spell check ๊ธฐ๋ฅ์ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋น์ทํ ๋จ์ด๋ค์ ์๋ ค์ฃผ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. Edit distance๋ ๋ string์ด ์ผ๋ง๋ ๊ฐ๊น์ด์ง ๋ํ๋ด๋ ์ฒ๋์
๋๋ค. ๋ ๋ฌธ์์ด $S_1$ ๊ณผ $S_2$ ๊ฐ์ edit distance๋ $S_1$ ์์ ์๋ 3๊ฐ์ง ์ข
๋ฅ์ ์ฐ์ฐ์ ์ต์ํ ๋ช ๋ฒ ์ํํ์ฌ $S_2$ ๋ฅผ ๋ง๋ค ์ ์๋๊ฐ๋ก ์ ์๋ฉ๋๋ค. Insertion : $S_1$ ์ ์๋ฌด ์์น์ ๋ฌธ์ ํ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค. MONDT -> MONEDT Deletion : $S_1$ ์ ์๋ฌด ์์น์์ ๋ฌธ์ ํ๋๋ฅผ ์ ๊ฑฐํฉ๋๋ค. MONEDT -> MOMED Substitution : $S_1$ ..
๐ง ์๊ทธ๋ ์ด๋ฒคํธ๊ฐ ์์คํ
์ ๋ฐ์ํ๋ค๋ ๊ฒ์ ํ๋ก์ธ์ค์๊ฒ ์๋ ค์ฃผ๋ ์งง์ ๋ฉ์ธ์ง ์๊ทธ๋์ ์์์์ค์ ์ํํธ์จ์ด ํํ์ ์์ธ์ ์ธ ์ ์ดํ๋ฆ์ผ๋ก์จ, ์๊ทธ๋์ ํ๋ก์ธ์ค์ ์ปค๋์ด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ๋๋ก ํฉ๋๋ค. ์๊ทธ๋์ ์์ธ์ํฉ๊ณผ ์ธํฐ๋ฝํธ๋ฅผ ์ปค๋์์ ์ถ์ํํ ๊ฐ๋
์ผ๋ก์จ, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ปค๋์ด ํ๋ก์ธ์ค์๊ฒ๋ก ์๊ทธ๋์ ๋ณด๋ด์ฃผ๋ ํํ๋ฅผ ๊ฐ์ง๋๋ค. ์๊ทธ๋์๋ 30๊ฐ์ ์ข
๋ฅ๊ฐ ์์ผ๋ฉฐ, ๊ฐ ์๊ทธ๋์ ์ ์ ์์ด๋๋ก ๊ตฌ๋ถํฉ๋๋ค.(1 - 30) ์๊ทธ๋์ ํฌํจ๋ ์ ๋ณด๋ ์๊ทธ๋์ ์์ด๋์ ์๊ทธ๋์ด ๋์ฐฉํ๋ค๋ ์ฌ์ค์
๋๋ค. ๋ค์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๋ช๋ช ์๊ทธ๋๋ค์
๋๋ค. ์๊ทธ๋์ ๋ชฉ์ ์ง ํ๋ก์ธ์ค๋ก ์ ๋ฌํ๋ ๊ฒ์ ์๊ทธ๋ ์ก์ ๊ณผ ์๊ทธ๋ ์์ ์ ๋ ๋จ๊ณ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๐ง ์๊ทธ๋ ์ก์ ์ปค๋์ ๋ชฉ์ ์ง ํ๋ก์ธ์ค์ ์ปจํ
์คํธ ๋ด์ ์๋ ์ผ๋ถ ์ํ๋ฅผ ๊ฐฑ..