์ปดํจํฐ ๊ณผํ์์๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก๋๋ฅผ ๋ํ๋ด๋ ๋ฐ $$T(n), O, \Theta, \Omega$$ ๋ฑ์ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. ์ด๋ฌํ ํ๊ธฐ๋ฒ์ ์๊ณ ๋ฆฌ์ฆ์ ์คํ ์๊ฐ์ด๋ ๊ณต๊ฐ ์๊ตฌ์ฌํญ์ ์ํ, ํํ, ๋๋ ์ ํํ ๊ฒฝ๊ณ๋ฅผ ์ง์ ํ๋ค. ์ด๋ฌํ ํ๊ธฐ๋ฒ์ ๋น
์ค ํ๊ธฐ๋ฒ์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ๊ฐ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค. Big O ํ๊ธฐ๋ฒ (O): ํจ์์ ์ํ์ ์ค๋ช
ํ๋ค. ( O(g(n)) )์ ํจ์ ( f(n) )์ด ( c \times g(n) )์ ์ด๊ณผํ์ง ์์์ ์๋ฏธํ๋ค. ์ด๋ ์ฃผ๋ก ์ต์
์ ๊ฒฝ์ฐ ์ฑ๋ฅ์ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ค. Theta ํ๊ธฐ๋ฒ ((\Theta)): ํจ์์ ์ ํํ ์ฑ์ฅ๋ฅ ์ ๋ํ๋ธ๋ค. ( \Theta(g(n)) )์ ( f(n) )์ด ( c_1 \times g(n) )๊ณผ ( c_2 \times g(..
๐ค Computer Science/Algorithm
๊ฒน์น๋ ํ์ ๋ฌธ์ (Subproblem)๋ฅผ ํด๊ฒฐํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด ๋๊ฐ๋ ๋ฐฉ์์ผ๋ก ์ต์ ํ ๋ฌธ์ ๋ค ํน์ง1. ์์ ํ์๋ฌธ์ ๋ค์ด ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ฉฐ, ์ด๋ค์ ํด๊ฒฐ ๊ฒฐ๊ณผ๊ฐ ์ฌํ์ฉ๋ ์ ์์ ๋ 2. Optimal Substructure(์ต์ ๋ถ๋ถ๊ตฌ์กฐ)์ ๊ฐ์ถ ๋ฌธ์ . ํฐ ๋ฌธ์ ์ ์ต์ ํด๊ฐ ์์ ๋ฌธ์ ์ ์ต์ ํด๋ฅผ ํตํด ๊ตฌํ ์ ์์ ๋ 3. ์ค๋ณต๋ ๊ณ์ฐ์ ์ต์ํํ ์ ์๋ ๊ตฌ์กฐ. ๊ฐ์ ํ์ ๋ฌธ์ ๋ฅผ ๋ฐ๋ณตํด์ ํด๊ฒฐํด์ผ ํ ๋ ํ์๋ฌธ์ ๊ฐ ๋
๋ฆฝ์ , ์ค์ฌ๊ฐ๋ฉด์ ํด๊ฒฐ -> Divide & Conquer ํ์๋ฌธ์ ๊ฐ ์ค์ฒฉ๋จ, ๋ฐ๋ณตํด์ผ ํจ -> Dynamic Programming DP๋ก ํด๊ฒฐํ๋ ๋ํ์ ์ธ ๋ฌธ์ ๋คlongest common subsequenceKnapsack problemRod cutting problemshortest ..
ascending order๋ก ์ ๋ ฌํ๋ qseudocode๋ ๋ค์๊ณผ ๊ฐ๋ค. (index๊ฐ 1๋ถํฐ n๊น์ง๋ผ๊ณ ๊ฐ์ ํ์ ๋) INSERTION-SORT(A, n) -> A[1 .. n] for j
DFS/BFS ๋ฅผ ์ํ ์๋ฃ๊ตฌ์กฐ ๊ธฐ์ด : ์คํ, ํ, ์ฌ๊ทํจ์ํ์ : ๋ง์ ์์ ๋ฐ์ดํฐ ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๊ณผ์ ๋ํ์ ์ธ ํ์ ์๊ณ ๋ฆฌ์ฆ DFS, BFS - ๊ธฐ๋ณธ ์๋ฃ๊ตฌ์กฐ์ธ ์คํ๊ณผ ํ์๋ํ ์ดํด ํ์ ์คํ์คํ : ์ ์
ํ์ถํ์ด์ฌ์์ ์คํ์ ์ด์ฉํ ๋๋ ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์๋ค.๊ธฐ๋ณธ ๋ฆฌ์คํธ์์ append()์ pop() ๋ฉ์๋๋ฅผ ์ด์ฉํ๋ฉด ์คํ ์๋ฃ๊ตฌ์กฐ์ ๋์ผํ๊ฒ ๋์ํ๋ค.append() ๋ฉ์๋๋ ๋ฆฌ์คํธ์ ๊ฐ์ฅ ๋ค์ชฝ์ ์ฝ์
, pop() ๋ฉ์๋๋ ๋ฆฌ์คํธ์ ๊ฐ์ฅ ๋ค์ชฝ์์ ๋ฐ์ดํฐ ๊บผ๋ด๊ธฐ ๋๋ฌธ ํํ : ์ ์
์ ์ถcollections ๋ชจ๋์์ ์ ๊ณตํ๋ deque ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์.deque๋ ์คํ๊ณผ ํ์ ์ฅ์ ์ ๋ชจ๋ ์ฑํํ ๊ฒ์ธ๋ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ๋นผ๋ ์๋๊ฐ ๋ฆฌ์คํธ ์๋ฃํ์ ๋นํด ํจ์จ์ ์ด๋ฉฐque..