๋ณํฉ ์ ๋ ฌ์ ๊ฐ๋ ๋ณํฉ ์ ๋ ฌ์ด๋? ํ๋์ ๋ฆฌ์คํธ๋ฅผ ๋ ๊ฐ์ ๊ท ๋ฑํ ํฌ๊ธฐ๋ก ์ต๋ํ ๋ถํ ํ๊ณ ๋ถํ ๋ ๋ถ๋ถ ๋ฆฌ์คํธ๋ฅผ ์์๋๋ก ํฉํ๋ ๋ฐฉ์์ด๋ค. ๋ถํ ๋ ๋ฆฌ์คํธ๋ฅผ ์์๋๋ก ํฉ์ณ์ ๋ด๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ๋ค. ๊ฐ์ฅ ์์ ๋จ์๋ก ์ ๋ฐ์ฉ ์ชผ๊ฐ ํ ๊ฐ์ฅ ์์ ๋จ์๋ถํฐ ๋ค์ ํฉ์ณ๋๊ฐ๋๋ฐ ์ด ํฉ์ณ๋๊ฐ๋ ๊ณผ์ ์์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ์ด ๋๋ค. Divide and Conquer Merge Sort์ ํด๊ฒฐ ์ ๋ต ๋ฌธ์ ๋ฅผ ์์ 2๊ฐ์ ๋ฌธ์ ๋ก ๋ถ๋ฆฌํ๊ณ ๊ฐ๊ฐ์ ํด๊ฒฐํ ๋ค์, ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์์ ์๋์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ ๋ต Divide and Conquer ๋ฐฉ์์ ๋๊ฐ ์ฌ๊ท ํธ์ถ์ ์ด์ฉํ์ฌ ๊ตฌํํจ ๋์ ๋ฐฉ์๊ณผ ๊ตฌํ 1. ๋ฐ์ดํฐ๋ค์ ์ ๋ฐ์ผ๋ก ๋๋๋ค. (๋ถํ ) 2. ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ์์ ๋จ์๋ก ๋ถํดํ ํ ๋งจ ๋ฐ์์ ๋ถํฐ ์ฐจ๋ก๋๋ก ํฉ๋ณ์ ์งํ..
๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ด๋? ํ๋์ ์ ์ ์์ ๋ชจ๋ ์ ์ ์ผ๋ก์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ์๊ณ ๋ฆฌ์ฆ Single source shortest paths problem ๋ก์ง ๋ชจ๋ ์ ์ ๋ค์ ์ฒ์์ ๋ฌดํ๋ ๊ฐ์ ๊ฐ๋๋ค. ์ ์ A์์ ์ ์ B๊ฐ ์ด์ด์ง๋ฉด ์ ์ A๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ + A์์ B๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ค. ๋ง์ฝ B๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ(์ฆ, A์์ B๋ก ์ด์ด์ง๋ ๋ค๋ฅธ ๊ฒฝ๋ก์ ์ํ ๊ฐ)๊ณผ 2๋ฒ์์ ๊ณ์ฐํ ๊ฐ๊ณผ ๋น๊ตํ์ฌ ํ์๊ฐ ๋ ์๋ค๋ฉด ๊ฐฑ์ ํ๋ค. ๊ฐ์ฅ ์์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ์ ์ ๋ถํฐ ์ด์ด์ ๋ฐ๋ณตํ๋ค. (๊ฐ์ฅ ์์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ์ ์ ๋ถํฐ ์์ํ๋ ์ด์ ๋ ์์ง ์์ ๊ฐ๋ถํฐ ์์๋๋ฉด ์ธ๋ชจ์๋ ์ฐ์ฐ์ด ์งํ๋๊ธฐ ๋๋ฌธ์ด๋ฉฐ, ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ป์ด๋ผ ์ ์๋ค.) ์์ ๊ฐ์ผ๋ก ๊ฐฑ์ ์ด ๋์ด์ผ ..
๋ฒ๋ธ ์ ๋ ฌ์ ๊ฐ๋ ๋ฒ๋ธ ์ ๋ ฌ์ด๋? ์๋ก ์ธ์ ํ ๋ ์์์ ๋์๋ฅผ ๋น๊ตํ๊ณ , ๋ ์์์ ์์น๊ฐ ๋ฐ๋์ด์ผ ํ๋ค๋ฉด ์๋ฆฌ๋ฅผ ๊ตํํ๋ฉฐ ์ ๋ ฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ ํ ์ ๋ ฌ๊ณผ ๊ธฐ๋ณธ ๊ฐ๋ ์ด ์ ์ฌํ์ง๋ง, ๋ฒ๋ธ์ ๋ ฌ์ ์ ํ์ ๋ ฌ๊ณผ ๋ค๋ฅด๊ฒ SWAP์ด ๊ณ์์ ์ผ๋ก ์ผ์ด๋๋ค. ๋ฒ๋ธ ์ ๋ ฌ์ ๋์ ๋ฐฉ์๊ณผ ๊ตฌํ ๋์ ๋ฐฉ์ 1. n-1๊ฐ์ ๋ฐ์ดํฐ์ ์์น๋ง ์ฐพ์ผ๋ฉด ๋๋ฏ๋ก n-1๋ฒ ๋ฐ๋ณตํ๋ค. (n-1๊ฐ์ ๋ฐ์ดํฐ์ ์์น๊ฐ ์ ํด์ง๋ฉด ๋๋จธ์ง 1๊ฐ๋ ์๋ ์ ๋ ฌ) 1-1. ์์์๋ถํฐ ๋ฒ๋ธ์ฒ๋ผ ์ฌ๋ผ๊ฐ๋ฉฐ 2๊ฐ์ ๋ฐ์ดํฐ์ฉ ์ง์ง์ด ๋น๊ตํ๋ค. 1-1-1. 2๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํ์ฌ ์์น๊ฐ ๋ฐ๋์ด์ผ ํ๋ค๋ฉด SWAPํ๋ค. 1๋ฒ์ ํ๋ฒ ๋ฐ๋ณตํ ๋๋ง๋ค ์ ๋ ฌ๋์ง ์์ ๋ฐ์ดํฐ๋ค ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ด ๋ค๋ก ์ด๋ํ๋ค. (์ฆ, ๋ฐ๋ณต ํ๋ฒ ๋น ํ๋์ ๋ฐ์ดํฐ๊ฐ ๋ฌด์กฐ๊ฑด ์ ๋ ฌ๋จ) ๊ตฌํ fo..
์ ํ ์ ๋ ฌ์ ๊ฐ๋ ์ ํ ์ ๋ ฌ์ด๋? ๋ฃ์ ์์น๋ ์ด๋ฏธ ์ ํด์ ธ ์๊ณ , ๊ทธ ์์น์ ์ด๋ ํ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์์ง ์ ํํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋์ ๋ฐฉ์ 1. ๋ฆฌ์คํธ ๊ธธ์ด(n)์ -1 ๋งํผ ๋ฐ๋ณตํ๋ค. (์์์๋ถํฐ ์์น๋ฅผ ์ ํ๊ฒ ๋๋ฉด ๋ง์ง๋ง ๊ฐ์ ์๋์ผ๋ก ์์น๊ฐ ์ ํด์ง๋ค) 1-2. ์ ํ๋ ์ต์๊ฐ๊ณผ ์ต์๊ฐ์ด ๋ค์ด๊ฐ ์์น์ ๊ฐ๊ณผ ๊ต์ฒดํ๋ค. 1-1. ๊ฐ์ด ๋ค์ด๊ฐ ์์น๋ถํฐ ๋ง์ง๋ง ๊ฐ๊น์ง ์ต์๊ฐ์ ์ฐพ๋๋ค. void sort() { int min; // 1. ๊ฐ์ด ๋ค์ด๊ฐ ์์น๋ฅผ ์ ํํ๋ ๋ฐ๋ณต๋ฌธ for(int i=0; i
ํธ๋์ญ์ ํธ๋์ญ์ ์ด๋? ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ๋ณํ(SQL ์ง์์ด ์ฌ์ฉ)์ํค๊ธฐ ์ํด ์ํํ๋ ์์ ๋จ์ ์์ ๋จ์๋ SQL ๋ช ๋ น๋ฌธ๋ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ ๊ฐ๋ฐ์๊ฐ ์ ํ๋ ๊ธฐ์ค์ ๋ฐ๋ผ ๋ค๋ฆ ์์) ํ์ ์ ๋ณด ์์ ์ ์ฅ ๋ฒํผ ํด๋ฆญ : UPDATE๋ฌธ์ ์ด์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ณด ์์ ํ์ ์ ๋ณด ๊ตฌ์ฑ : SELECT๋ฌธ์ ์ด์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ณด ์ต์ ์ ์ง ์์ ๋จ์ : UPDATE + SELECT ํธ๋์ญ์ ํน์ง ์์์ฑ : DB์ ๋ชจ๋ ๋ฐ์๋๊ฑฐ๋, ์์ ๋ฐ์๋์ง ์๊ฑฐ๋ ์ผ๊ด์ฑ : ์์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ ๋ ๊ฐ์์ผํจ ๋ ๋ฆฝ์ฑ : ํธ๋์ญ์ ์ ์ฐ์ฐ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๋ผ์ด๋ค ์ ์์ ์ง์์ฑ : ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์๋ค๋ฉด, ๊ทธ ๊ฒฐ๊ณผ๋ ์๊ตฌ์ ์ด์ฌ์ผํจ Commit๊ณผ Rollback Commit : ํ๋์ ํธ๋์ญ์ ์ด ์๋ฃ๋์์ผ๋ฉฐ, DB๊ฐ ์ผ..