1๏ธโฃ ์๊ณ ๋ฆฌ์ฆ(Algorithm).
์๊ณ ๋ฆฌ์ฆ(Algorithm)์ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ผ๋ จ์ ๋ช ํํ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ ์ ์ฐจ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํฉ๋๋ค.
์ฝ๊ฒ ๋งํด, ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ผ๋ จ์ ๊ท์น ๋๋ ์ง์นจ์ ๋๋ค.
1๏ธโฃ ์๊ณ ๋ฆฌ์ฆ(Algorithm)์ ์ ์.
์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ ์์๋ฅผ ๊ฐ์ถ ์ ์ฐจ๋ฅผ ๋งํฉ๋๋ค.
-
์ ๋ ฅ(Input) : ์๊ณ ๋ฆฌ์ฆ์ด ์ฒ๋ฆฌํ ํ๋ ์ด์์ ๊ฐ์ด ์ฃผ์ด์ง๋๋ค.
-
์ถ๋ ฅ(Output) : ์๊ณ ๋ฆฌ์ฆ์ ์ํ ๊ฒฐ๊ณผ๋ก ํ๋ ์ด์์ ๊ฐ์ด ์์ฑ๋ฉ๋๋ค.
-
๋ช ํ์ฑ(Definiteness) : ๊ฐ ๋จ๊ณ๋ ๋ช ํํ๊ฒ ์ ์๋์ด ์์ด์ผ ํฉ๋๋ค. ๋ชจํธํ ๋ถ๋ถ ์์ด ๋ช ํํ ์ง์นจ์ด์ด์ผ ํฉ๋๋ค.
-
์ ํ์ฑ(Finiteness) : ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ ๋จ๊ณ ๋ด์์ ์ข ๋ฃ๋์ด์ผ ํฉ๋๋ค. ์ฆ, ์๊ณ ๋ฆฌ์ฆ์ ๋ฌดํํ ์คํ๋์ง ์๊ณ , ํ์ ๋ ๋จ๊ณ ๋ด์์ ๋๋์ผ ํฉ๋๋ค.
-
์ ํจ์ฑ(Effectiveness) : ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ๋จ๊ณ๋ ์ค์ ๋ก ์ํ ๊ฐ๋ฅํด์ผ ํ๋ฉฐ, ์ฌ๋์ด ์ง์ ์ํํ ์ ์์ ์ ๋๋ก ๊ธฐ๋ณธ์ ์ธ ์ฐ์ฐ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ด์ผ ํฉ๋๋ค.
2๏ธโฃ ์๊ณ ๋ฆฌ์ฆ์ ํน์ฑ
์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ ํน์ฑ์ ๊ฐ์ง ์ ์์ต๋๋ค.
-
์ ํ์ฑ(Correctness) : ์๊ณ ๋ฆฌ์ฆ์ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
-
์๊ฐ ๋ณต์ก๋(Time Complexity) : ์๊ณ ๋ฆฌ์ฆ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํฌ๊ธฐ์ ๋ํ ํจ์๋ก ํํ๋ฉ๋๋ค.
-
๊ณต๊ฐ ๋ณต์ก๋(Space Complexity) : ์๊ณ ๋ฆฌ์ฆ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ ๋๋ค. ์ด ๋ํ ์ ๋ ฅ ํฌ๊ธฐ์ ๋ํ ํจ์๋ก ํํ๋ฉ๋๋ค.
-
ํจ์จ์ฑ(Efficiency) : ์๊ณ ๋ฆฌ์ฆ์ด ์ฃผ์ด์ง ์์์ ์ผ๋ง๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋์ง ๋ํ๋ ๋๋ค. ์ฌ๊ธฐ์์๋ ์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋๊ฐ ํฌํจ๋ฉ๋๋ค.
-
ํ์ฅ์ฑ(Scalability) : ์๊ณ ๋ฆฌ์ฆ์ด ์ ๋ ฅ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ผ๋ง๋ ์ ๋์ํ๋์ง ๋ํ๋ ๋๋ค. ํ์ฅ์ฑ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ํฐ ์ ๋ ฅ ํฌ๊ธฐ์์๋ ํจ์จ์ ์ผ๋ก ์๋ํฉ๋๋ค.
3๏ธโฃ ์๊ณ ๋ฆฌ์ฆ์ ์ค์์ฑ.
์๊ณ ๋ฆฌ์ฆ(Algorithm)์ ์ปดํจํฐ ๊ณผํ ๋ฐ ํ๋ก๊ทธ๋๋ฐ์์ ํต์ฌ์ ์ธ ์ญํ ์ ํฉ๋๋ค.
ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉด ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ด ๋ ๋น ๋ฅด๊ณ ์ ์ ์์์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์ ํด๊ฒฐ์ ๋ ผ๋ฆฌ์ ์ด๊ณ ์ฒด๊ณ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํ์ฌ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๋จ์ํํ๊ณ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ์ ์ดํดํ๊ณ ์ฌ์ฉํ๋ ๊ฒ์ ํ๋ก๊ทธ๋๋จธ์ ์ปดํจํฐ ๊ณผํ์์๊ฒ ํ์์ ์ธ ๊ธฐ์ ์ ๋๋ค.
์ด๋ฅผ ํตํด ๋ค์ํ ๋ฌธ์ ๋ฅผ ํจ์จ์ ์ผ๋ก ํด๊ฒฐํ๊ณ , ๋ ๋์ ์ํํธ์จ์ด์ ์์คํ ์ ์ค๊ณํ ์ ์์ต๋๋ค.