๋ฐ์ํ
An algorithm
is a finite set of instructions that, if followed, accomplishes a particular task.
์๊ณ ๋ฆฌ์ฆ์ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํน์ ํ ์์
(particular task)์ ์ํํ๋ ์ ํํ ๋ช
๋ น์ด์ ์งํฉ(a finite set of instructions)์ด๋ค.
Input(์ ๋ ฅ)
: ์ธ๋ถ์์ ์ ๋ ฅ์ด 0๊ฐ ์ด์์ด์ด์ผ ํ๋ค.Output(์ถ๋ ฅ)
: ์ถ๋ ฅ์ด 1๊ฐ ์ด์์ด์ด์ผ ํ๋ค.Definiteness(๋ช ํ์ฑ)
: ๊ฐ๊ฐ์ ๋ช ๋ น์ด๋ ๋ช ํ(clear)ํ๊ณ ๋ชจํธ(unambiguous)ํ์ง ์์์ผํ๋ค.Finiteness(์ ํ์ฑ)
: ๋ชจ๋ ๊ฒฝ์ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ํ์ ๋ ์คํ ํ์ ์ข ๋ฃ๋ฉ๋๋ค.Effectivenes(์ ํจ์ฑ)
: ๋ชจ๋ ๋ช ๋ น์ ์ฌ๋์ด ์ฐํ๊ณผ ์ข ์ด๋ง์ ์ฌ์ฉํ์ฌ ์ํ๋ ์ ์์ ๋งํผ ์ถฉ๋ถํ ๊ธฐ๋ณธ์ ์ด์ด์ผ ํฉ๋๋ค.
์กฐ๊ฑด 3์ฒ๋ผ ๊ฐ ๋ช ๋ น์ด ๋ช ํํ ๊ฒ์ผ๋ก๋ ์ถฉ๋ถํ์ง ์๊ณ , ์คํ๊ฐ๋ฅํ ๋ช ๋ น์ด์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ชจ๋ ์ ์๋ฅผ ์ ์ฅํ์ฌ๋ผ ๊ฐ์ ๋ช ๋ น์ ์คํ ๋ถ๊ฐ๋ฅํ ๋ช ๋ น์ ๋๋ค.
์ปดํจํฐ ๊ณตํ์์ Algorithm๊ณผ Program์ ๋ค๋ฅธ ๊ฒ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. Program์ 4๋ฒ์งธ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์๋ ๋ฉ๋๋ค.
๋ฐ์ํ