๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 30๋ถ ๋ฌธ์ ์ต์๋น์ฉ ๊ตฌํ๊ธฐ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ N๊ฐ์ ๋์๊ฐ ์๋ค. ๊ทธ๋ฆฌ๊ณ ํ ๋์์์ ์ถ๋ฐํ์ฌ ๋ค๋ฅธ ๋์์ ๋์ฐฉํ๋ M๊ฐ์ ๋ฒ์ค๊ฐ ์๋ค. ์ฐ๋ฆฌ๋ A๋ฒ์งธ ๋์์์ B๋ฒ์งธ ๋์๊น์ง ๊ฐ๋๋ฐ ๋๋ ๋ฒ์ค ๋น์ฉ์ ์ต์ํ ์ํค๋ ค๊ณ ํ๋ค. A๋ฒ์งธ ๋์์์ B๋ฒ์งธ ๋์๊น์ง ๊ฐ๋๋ฐ ๋๋ ์ต์๋น์ฉ์ ์ถ๋ ฅํ์ฌ๋ผ. ๋์์ ๋ฒํธ๋ 1๋ถํฐ N๊น์ง์ด๋ค. ํ์ด ๋ค์ต์คํธ๋ผ ๊ธฐ๋ณธ ๊ตฌํ์ ์ด์ฉํด์ ํผ๋ค. ๋ค์ต์คํธ๋ผ ๊ฐ๋ ๋ฐ๋ก๊ฐ๊ธฐ ์ฝ๋ #include #include #include using namespace std; int main() { // ์ต์๋น์ฉ ๋ฌธ์ => bfs / ๊ทธ๋ํ ํ์(๋ค์ต์คํธ๋ผ) // N 10^3์ดํ M 10^6 ์ดํ // ์ถ๋ฐ, ๋์ฐฉ, ๋น์ฉ // ๋น์ฉ 10^6 ์ดํ // ๋ง์ง๋ง (์ถ๋ฐ..
๊ทธ๋ํ ํ์ ๊ทธ๋ํ๋ฅผ ํ์ํ๋ ๊ธฐ๋ฒ์๋ ๋ํ์ ์ผ๋ก 2๊ฐ์ง๊ฐ ์๋ค. ๋๋น ์ฐ์ ํ์์ธ BFS(Breadth-First Search)์ ๊น์ด ์ฐ์ ํ์์ธ DFS(Depth-First Search)์ด๋ค. BFS BFS๋ ํ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํํ๋ค. ์ค๋ช ํธ๋ฆฌ๋ก ์๋ฅผ ๋ค์์ง๋ง, ๋ชจ๋ ๊ทธ๋ํ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋์ํ๋ค. ๋ฃจํธ ๋ ธ๋๋ฅผ queue์ ๋ฃ๋๋ค. queue์ ๋ ธ๋๋ฅผ ํ๋ ๊บผ๋ธ ํ, ํด๋น ๋ ธ๋์์ ์ธ์ ๋ ธ๋๋ฅผ ๋ชจ๋ queue์ ๋ฃ๋๋ค. ์์ ๋ฐฉ์์ ๋ชจ๋ ๋ ธ๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค. stack์ ๋ค์ด๊ฐ ์์๋ฅผ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 1=>2=>3=>4=>5=>6=>7=>8 ๋ฐ๋ผ์ ํธ๋ฆฌ์์ BFS๋ฅผ ์คํํ์ฌ ํ์์ ํ๋ ๊ฒ์ ๋ ๋ฒจ ์ํ๋ฅผ ํ๋ ๊ฒ๊ณผ ๊ฐ๋ค. DFS DFS๋ ์คํ์ ์ด์ฉํ์ฌ ๊ตฌํํ๋ค. ์ค๋ช ํธ๋ฆฌ๋ก ์๋ฅผ ๋ค..
๊ตฌ์กฐ์ฒด ๊ตฌ์กฐ์ฒด๋ ๋ฐฐ์ด๊ณผ๋ ๋ค๋ฅด๊ฒ ๋ค๋ฅธ ์๋ฃํ์ ๋ณ์๋ค์ ๋ชจ์์ ํ๋์ ๋จ์๋ก ํํํ๋ ์๋ฃํ์ด๋ค. ์ฉ๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๊ทธ๋ํ์์ ๋ ธ๋๋ฅผ ๋ํ๋ผ ๋, ๋ฐ์ดํฐ์ ํฌ์ธํฐ ๋ถ๋ถ์ด ์กด์ฌํ๋ค. ๊ตฌ์กฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ์ ํฌ์ธํฐ ๋ถ๋ถ์ ๊ฐ๊ฐ ๊ตฌ์ฑํ์ฌ ํ๋์ ์๋ฃํ์ผ๋ก ๋ง๋ค์ด์ค ์ ์๋ค. ์ด ๋, ํฌ์ธํฐ๋ ํด๋น ๊ตฌ์กฐ์ฒด์ ํฌ์ธํฐํ์ด๋ฏ๋ก ์ด ๊ตฌ์กฐ์ฒด๋ ์์ฒด ์ฐธ์กฐ ๊ตฌ์กฐ์ฒด๊ฐ ๋๋ค. C++ struct Node { int value; Node* pointer; // ์์ฒด ์ฐธ์กฐ ๊ตฌ์กฐ์ฒด }; int main() { Node A; // ๊ตฌ์กฐ์ฒด ์ ์ธ A.value = 4; Node* Ap = A.pointer; // . ์ฐ์ฐ์๋ก ์ ๊ทผ int Avalue = A.value; Ap = A; Avalue = Ap->value; // ํฌ์ธํฐ๋ก ..
ํธ๋ฆฌ ์ฉ๋ ์ฉ์ด ์ ๋ฆฌ ์ข ๋ฅ ์ด์ง ํธ๋ฆฌ ์ผ๋ฐ ํธ๋ฆฌ ์ค๋ ๋ ์ด์ง ํธ๋ฆฌ ๊ตฌํ ๋ฐฐ์ด ํํ๋ฒ ์ฐ๊ฒฐ๋ฆฌ์คํธ ํํ๋ฒ ํธ๋ฆฌ ํ์ฉ ํ์ ์งํฉ ํํ ํํ๋ง ์ฝ๋ ํธ๋ฆฌ ํธ๋ฆฌ๋ ๊ทธ๋ํ์ ํ ์ข ๋ฅ๋ก ๋ฌด๋ฐฉํฅ ์ฐ๊ฒฐ ๋น์ํ ๊ทธ๋ํ(Connected Undirected Acyclic Graph)์ด๋ค. ๋ฃจํธ ๋ ธ๋๊ฐ ์กด์ฌํ๊ณ , ๋ฃจํธ ๋ ธ๋๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ ธ๋์ in-degree๊ฐ 1์ธ ๋ฐฉํฅ๊ทธ๋ํ๋ผ๊ณ ๋งํ ์๋ ์๋ค. ๊ณ์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉฐ ๊ทธ๋ํ์ ํ ์ข ๋ฅ์ด๋ฏ๋ก ๋น์ ํ ์๋ฃ๊ตฌ์กฐ์ ์ํ๋ค. ์ฉ๋ ๊ณ์ธต์ ์ธ ์กฐ์ง์ ํํํ๊ธฐ ์ํด ์ฌ์ฉ๋๊ฑฐ๋, ์ปดํจํฐ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ / ์ธ๊ณต์ง๋ฅ์ decision tree ๋ฑ์ ์ด์ฉ๋๋ค. ๋ํ ์๋ฃ์ ํ์ / ์ ๋ ฌ / DB ๊ตฌ์ฑ์ด๋ ๋ถ์๊ตฌ์กฐ์ ์ค๊ณ ๋ฑ์์๋ ๋ค์ํ๊ฒ ์ด์ฉ๋๋ค. (๊ฒฐ์ ํธ๋ฆฌ)(์ด์งํ์) ์ฉ์ด ์ ๋ฆฌ ๋ ธ๋ ..
๊ทธ๋ํ ์ฉ๋ ์ฉ์ด ์ ๋ฆฌ ๊ธฐ๋ณธ ์ฌํ ๊ตฌํ ์ธ์ ํ๋ ฌ ์ธ์ ๋ฆฌ์คํธ ๋น๊ต ์ฐ์ฐ ๋ถ๋ฅ ๋ฐฉํฅ์ฑ์ ๋ฐ๋ฅธ ๋ถ๋ฅ ์ฐ๊ฒฐ์ ๋ฐ๋ฅธ ๋ถ๋ฅ ์ฌ์ดํด์ ๋ฐ๋ฅธ ๋ถ๋ฅ ํน์ํ ๊ทธ๋ํ ํ์ ๋์ถ๋ ๋ฌธ์ ๋ค ๊ด๋ จ ์๊ณ ๋ฆฌ์ฆ ์ฐธ๊ณ ๊ทธ๋ํ ๊ทธ๋ํ๋ '๋ ธ๋'์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ '๊ฐ์ '์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ง๊ธ๊น์ง์ ์ดํด๋ณธ ์๋ฃ๊ตฌ์กฐ๋ค(๋ฆฌ์คํธ, ์คํ, ํ ๋ฑ)๊ณผ๋ ๋ฌ๋ฆฌ ๊ทธ๋ํ๋ ๋น์ ํ ์๋ฃ๊ตฌ์กฐ ์ด๋ค. ์ฉ๋ ๊ทธ๋ํ๋ ์ผ์์ํ์์ ์ฐ๊ฒฐ๋์ด์๋ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ ๋ ์ฌ์ฉ๋๋ค. ์๋ก ์ง๋๋ ์งํ์ฒ ๋ ธ์ ๋, ์ ๊ธฐํ๋ก, ๋๋ก ๋ฑ์ ๋ค ์ ์๋ค. ๋ํ ์ปดํจํฐ ์ธ๋ถ์ ๊ณต์์๋ ํต์ ๋คํธ์ํฌ ๋ถ์ผ์์๋ ์ฐ์ด๋ฉฐ, ๋ ผ๋ฆฌํ๋ก๋ฅผ ์ค๊ณํ๊ณ ๋ถ์ํ๋ ๋ฐ์๋ ์ฌ์ฉ๋๋ค. ์ต๊ทผ์๋ ์น์ฌ์ดํธ์ ๋งํฌ ์ฐ๊ฒฐ(Page Rank)์ด๋ SNS ์์ ์น๊ตฌ๊ด๊ณ๋ฅผ ํํํ๋ ๋ฐ์๋ ์ฌ์ฉ๋..
์๋ก ์๋ฃ๊ตฌ์กฐ ์๋ฃ๊ตฌ์กฐ๋ ์ปดํจํฐ์์ ์๋ฃ๋ฅผ ์ ๋ฆฌํ๊ณ ์กฐ์งํํ๋ ๋ค์ํ ๊ตฌ์กฐ๋ฅผ ๋งํ๋ค. ํ๋ก๊ทธ๋จ์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ด๋ฃจ์ด์ ธ์๊ธฐ ๋๋ฌธ์, ์๋ฃ๊ตฌ์กฐ๋ ๋ฐ๋์ ๊ณต๋ถํด์ผํ๋ ๋ถ์ผ์ด๋ค. ์๋ฃ๊ตฌ์กฐ๋ ๋จผ์ ๋จ์ ์๋ฃ๊ตฌ์กฐ์ ๋ณตํฉ ์๋ฃ๊ตฌ์กฐ๋ก ๊ตฌ๋ถ๋๊ณ , ๋ณตํฉ ์๋ฃ๊ตฌ์กฐ์๋ ์ ํ ๊ตฌ์กฐ์ ๋น์ ํ ๊ตฌ์กฐ๊ฐ ์๋ค. ์์ฐจ์ ์ผ๋ก ์ดํด๋ณด์. ๋ฐฐ์ด, ๋ฌธ์์ด ์ฐ๊ฒฐ ๋ฆฌ์คํธ ์คํ, ํ, ๋ฑ ๊ทธ๋ํ ํธ๋ฆฌ ํ ๊ตฌ์กฐ์ฒด
๋ฌธ์ : ๋ฐฑ์ค 1260๋ฒ _ DFS์ BFS ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋ง์ ์ฌ๋ ์ ๋ต ๋น์จ 2 ์ด 128 MB 87845 28912 16832 31.543% ๋ฌธ์ ๊ทธ๋ํ๋ฅผ DFS๋ก ํ์ํ ๊ฒฐ๊ณผ์ BFS๋ก ํ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ์ ์ ๋ฒํธ๊ฐ ์์ ๊ฒ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ , ๋ ์ด์ ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ด ์๋ ๊ฒฝ์ฐ ์ข ๋ฃํ๋ค. ์ ์ ๋ฒํธ๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 ≤ N ≤ 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 ≤ M ≤ 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ์ด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ด ์์ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก..
theta๊ฐ ํ์ํ ์ด์ ์์ ๊ทธ๋ฆผ์ theta๊ฐ ์์ ๋์ ์ฐ์ฐ์ ๋ํ๋ธ ๊ฒ์ด๋ค. ์ด ๋ ํ์ฑํ ํจ์๊ฐ sigmoid๋ผ๋ฉด ์ ๋ ฅ์ด (0,0)์ผ ๋ ์ถ๋ ฅ์ด ๋ค๋ฅธ ์๊ฐ ๋์ค๋ ๊ฒฝ์ฐ๋ฅผ ๋ง์กฑํ ์ ์์๊น? theta๊ฐ ์๋ค๋ฉด net์ ์ ๋ ฅ์ด (0,0)์ผ ๋ ํญ์ 0์ด๋ค. ๋ฐ๋ผ์ ์ถ๋ ฅ์ sigmoid ํจ์๋ฅผ ๊ฑฐ์ณ ํญ์ 1/2 ์ด ๋์จ๋ค. (0,0)์ ์ ๋ ฅ์์ ๋ค๋ฅธ ์ถ๋ ฅ์ด ๋์ค๊ฒ ํ๋ ค๋ฉด sigmoid ํจ์๋ฅผ output์ถ(y์ถ) ๋ฐฉํฅ์ผ๋ก ์์ง์ผ ์ ์์ด์ผํ๋ค. ์ด ์ญํ ์ ์ํด์ theta๋ ์กด์ฌํ๋ ๊ฒ์ด๋ค! net = x1*w1 + x2*x2 + theta , O = f(net) = f(theta) ์ด๋ฏ๋ก theta ๋งํผ ๊ทธ๋ํ๋ฅผ net์ถ์ผ๋ก ์ด๋ํ ๊ฒ์ฒ๋ผ ์๊ฐํ ์ ์๋ค. ์ผ์ชฝ ๊ธฐ์กด์ sigmoid ํจ์์์ (0..
Comment