๐ง ๋ถ๋ถ ์์ด(Subsequence) ๊ธธ์ด n์ธ ์์ด(sequence, ordered list) $S = a_1, a_2, ... a_n$ ์ด ์ฃผ์ด์ก์ ๋, ์์ด $S' (= a_{i1}, a_{i2}, ..., a_{ik})$ ๊ฐ $1 \leq i1 < i2 < ... < ik \leq n$ ๋ฅผ ๋ง์กฑํ ๊ฒฝ์ฐ, $S'$ ๋ฅผ $S$ ์ subsequence๋ผ ํฉ๋๋ค. ๐ง ์ฆ๊ฐ ์์ด(Increasing sequence) ์์ด S = $a_1, a_2, ..., a_n$ ์ ๋ํ์ฌ $a_1 < a_2 < ... < a_n$ ์ผ ๋, increasing sequence๋ผ ํฉ๋๋ค. ๐ง ๊ฐ์ํ์ง ์๋ ์์ด(Non-decreasing sequence) ์์ด S = $a_1, a_2, ..., a_n$ ์ ๋ํ์ฌ $a..
๐ฅ Computer Science/์๊ณ ๋ฆฌ์ฆ
๐ง Memoization ์ฌ๊ท์ ์ผ๋ก ๋ฐ๋ณต๋๋ ์ด๋ ํ ํจ์์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ฒ์ ์๋ฏธํฉ๋๋ค. ๐ง Dynamic Programming Recursion(์ฌ๊ท)๊ณผ Memoization์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ธฐ๋ฒ์ ์๋ฏธํฉ๋๋ค. DP์ ๋ณธ์ง์ ์ฌ๊ท๋ฅผ ์ฌ๋ฐ๋ฅด๊ณ ๋๋ํ๊ฒ ํ๋ ๊ฒ์ด๋ฏ๋ก, ์ฌ๊ท๋ฅผ ์ํ Recurrence Relation์ ์ฌ๋ฐ๋ฅด๊ฒ ์ธ์ฐ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๐ง DP ๋ฌธ์ ํด๊ฒฐ ์์ 1. ๋ฌธ์ ๋ฅผ ์ ํํ๊ฒ ์ ์ํฉ๋๋ค. 2. ์ ์๋ ๋ฌธ์ ์ ๋ํ์ฌ ๋ถ๋ถ ๋ฌธ์ (Subproblem)์ ์ ์ํฉ๋๋ค. 3. Subproblem์ ์ด์ฉํ์ฌ Recurrence Relation์ ์ธ์๋๋ค. 4. Memoization์ ์ด์ฉํ์ฌ Recurrence Relation์ ๊ณ์ฐํฉ๋๋ค. - ์ค๊ฐ ๊ฒฐ๊ณผ๋ฌผ๋ค๋ค ์ ์ฅํ ์๋ฃ๊ตฌ์กฐ..
๐ง Encoding ์ํ๋ฒณ $\Sigma$ ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๋ํ์ฌ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง binary string(ํน์ binary code, codeword) ์ผ๋ก ํํํ๋ ๊ฒ ๊ฐ๋จํ ์์๋ฅผ ํ๋ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. Binary code A 00 B 01 C 10 D 11 ์ ํ์ ์ฃผ์ด์ง๋๋ก ๋ค์ ๋ฌธ์์ด (ABBCCDA) ์ ์ธ์ฝ๋ฉ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. A B B C C D A 00 01 01 10 10 11 00 ๐ง Decoding Encoding ๋ binary string์ ๋ค์ original string์ผ๋ก ๋ํ๋ด๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์์ ์์์์ ๋์ฝ๋ฉ ์์๋ ์ธ์ฝ๋ฉ๋ binary string์ ๋ character์ฉ ํ์ธํ๋ฉด์ ํด๋น codeword์ ๋์๋๋ ์ํ๋ฒณ์ผ๋ก ๋ฐ๊พธ์ด์ฃผ๋ฉด..
๐ง Interval Scheduling n๊ฐ์ ์์
์ด ์กด์ฌํ๊ณ , ํด๋น ์์
๋ค์ ์ํํ๋ ์๊ฐ์ด ๊ฐ๊ฐ [์์ ์๊ฐ, ์๋ฃ ์๊ฐ] ์ผ๋ก ์ฃผ์ด์ ธ ์๋ค๊ณ ํ๊ฒ ์ต๋๋ค. ๊ฐ์ ์๊ฐ์๋ ํ๋์ ์์
๋ง์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ์ฃผ์ด์ง ์๊ฐ ๋ด์ ์ต๋ํ ๋ง์ ์์
๋ค์ ์ํํ ์ ์๋๋ก scheduling ํ๋ ๊ฒ์ Interval Scheduling ์ด๋ผ๊ณ ํฉ๋๋ค. ์ด๋ ์์
$i, j$ ๋ฅผ ๋์์ ํ์ง ๋ชปํ ๊ฒฝ์ฐ, $i$ ์ $j$ ๋ overlap ๋์ด ์๋ค๊ณ ํฉ๋๋ค. โญ๏ธ Psudocode Initially R is the set of all jobs A is empty // A will store all the jobs that will be scheduled while R is not empty choose job $i..
๐ง Spanning Tree ๊ทธ๋ ํ ๋ด์ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ๋ค ์ค, ์ต์ ์ฐ๊ฒฐ ํธ๋ฆฌ๋ฅผ ์๋ฏธํฉ๋๋ค. ์ต์ ์ฐ๊ฒฐ์ ์๋ฏธ๋ ๊ฐ์ ์ ์๊ฐ ๊ฐ์ฅ ์ ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ์ด๋ฅผ ์ํด์๋ ์ฌ์ดํด์ด ์กด์ฌํด์๋ ์๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ ์ ์๊ฐ $n$ ๊ฐ์ธ ๊ทธ๋ํ์ Spanning Tree๋ edge๊ฐ ์ ํํ $n-1$ ๊ฐ ์กด์ฌํฉ๋๋ค. ๋ํ ํ๋์ ๊ทธ๋ํ์๋ ๋ง์ ์ ์ฅ ํธ๋ฆฌ๊ฐ ์กด์ฌํ ์ ์์ต๋๋ค. ๐ง ์ต์ ์ ์ฅ ํธ๋ฆฌ (MST) ์ ์ฅ ํธ๋ฆฌ๋ค ์ค edge๋ค์ ๋น์ฉ(cost)์ ์ด ํฉ์ด ์ต์์ธ ํธ๋ฆฌ๋ฅผ ์๋ฏธํฉ๋๋ค. ๋์ผํ Cost๋ฅผ ๊ฐ์ง๋ Edge๊ฐ ์ฌ๋ฌ๊ฐ ์์ ๊ฒฝ์ฐ MST๋ ์ฌ๋ฌ ์ข
๋ฅ๊ฐ ๋์ฌ ์ ์์ผ๋ฉฐ, ๋ฐ๋๋ก ๋ชจ๋ Edge๋ค์ cost๊ฐ ๊ตฌ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ MST๋ ๋จ ํ๋๋ง ์กด์ฌํ ์ ์์ต๋๋ค. (์ด๋ ๋ค์์ ์ฆ๋ช
ํด ๋ณด๋๋ก..
๐ง ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ ๋งค ๋จ๊ณ๋ง๋ค ํ์ฌ ์ํ์์ ์ต์ ์ ํด๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๊ฒ์ ์ ํํ๋ฉฐ ์งํํ๋ ์๊ณ ๋ฆฌ์ฆ์
๋๋ค. ์ฃผ๋ก ์ต์ ํ ๋ฌธ์ (Optimization problem)์์ ๋ง์ด ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ๋๋ถ๋ถ์ ๋ฌธ์ ๋ค์์ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ต์ ํด(global-optimal)๋ฅผ ๋ณด์ฅํด ์ฃผ์ง๋ ์์ผ๋ ์ผ๋ถ ๋ฌธ์ ๋ค์ ํํ์ฌ global-optimal ํ๊ฑฐ๋ ๊ทธ์ ๋งค์ฐ ๊ทผ์ ํจ์ ๋ณด์ฅํด ์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. โญ๏ธ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ์์ N๊ฐ์ ์ซ์๊ฐ ๋ค์ด์๋ ๋ฐ๊ตฌ๋๊ฐ ์์ต๋๋ค. ์ด ์ค ๊ทธ ์๋ค์ ํฉ์ด ์ต๋๊ฐ ๋๋๋ก m๊ฐ๋ฅผ ๊ณ ๋ฅด๊ณ ์ถ์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ๋งค ๋จ๊ณ์์ ํ์ฌ ๋ฐ๊ตฌ๋์ ๋จ์์๋ ์ซ์๋ค ์ค, ์ ์ผ ํฐ ์ซ์๋ฅผ ๊ณ ๋ฅธ ๋ค, ์ด๋ฅผ m ๋ฒ ๋ฐ๋ณตํจ์ผ๋ก์จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋..
๐ง ์ ๋์จ ํ์ธ๋ ์๋ฃ๊ตฌ์กฐ ์ ๋์จ ํ์ธ๋ ์๋ฃ๊ตฌ์กฐ(๋๋ ์๋ก์ ์งํฉ(disjoint set) ์๋ฃ๊ตฌ์กฐ)๋ ๋ค์ ๋ ์ข
๋ฅ์ ์ฐ์ฐ์ ์ง์ํ๋ ์๋ฃ๊ตฌ์กฐ์
๋๋ค. Union : ๋ ๊ฐ์ ๋
ธ๋๊ฐ ํฌํจ๋ ์งํฉ์ ํ๋์ ์งํฉ์ผ๋ก ํฉ์น๋ ์ฐ์ฐ Find : ํน์ ๋
ธ๋๊ฐ ์ํ ์งํฉ์ ๋ฃจํธ ๋
ธ๋๋ฅผ ๋ฐํํ๋ ์ฐ์ฐ ์ฐ์ ๋๋น๋๋์ ์ค๋ช
์ด ๊ต์ฅํ ์ข๊ธฐ ๋๋ฌธ์, ๋๋น๋๋์ ์ ํ๋ธ ๋งํฌ๋ฅผ ๊ฑธ์ด๋๋๋ก ํ๊ฒ ์ต๋๋ค. ( ์ ๋ ๊ทธ๋ฅ ์ ๊ฐ ๊ณต๋ถํ๋ ค๊ณ ๊ธ ์ด ๊ฑฐ๋๊น, ์ ํ๋ธ ๋ณด๋ฌ ๊ฐ์ธ์ฌ..ใ
ใ
) โญ๏ธ Find ์ฐ์ฐ Find ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ๊ตฌํํ ์ ์์ต๋๋ค. 1. ํด๋น ๋
ธ๋์ ๋ถ๋ชจ ๋
ธ๋์ ํด๋น ๋
ธ๋๋ฅผ ๋น๊ตํฉ๋๋ค. ์ด๋ ๋ ๋
ธ๋๊ฐ ๊ฐ์ ๊ฒฝ์ฐ, ํด๋น ๋
ธ๋๋ ๋ฃจํธ ๋
ธ๋์
๋๋ค. 2. ๋ง์ฝ ๊ฐ์ง ์๋ค๋ฉด ํด๋น ๋
ธ๋์ ๋ถ๋ชจ ๋
ธ๋์ ๋..
๐ง Strongly Connected ๋ฐฉํฅ ๊ทธ๋ํ์์๋ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์ ๋์ผํ๊ฒ Connectivity(์ฐ๊ฒฐ์ฑ)๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ๋ฐฉํฅ ๊ทธ๋ํ์์์ Connectivity๋ ๋ณดํต Strongly Connected ๋ก ์ ์๋๋ฉฐ, ํด๋น ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. $G$ ๋ Strongly Connected ํ๋ค : ์์์ ์๋ก ๋ค๋ฅธ ๋ ์ ์ $v$, $u$ $\in V(G)$ ์ ๋ํ์ฌ, $v$ ์์ $w$ ๋ก์ Path์, $w$ ์์ $v$ ๋ก์ Path๊ฐ ์กด์ฌํ๋ค. ๐ง Strongly Connected Components (๊ฐํ ์ฐ๊ฒฐ ์์) ๊ทธ๋ํ $G$์ ๋ํ Strong Connected Component $G'$ : $G$ ์ Maximal Strongly Connected Subgraph $..