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(์ ํจ์ฑ) : ๋ชจ๋ ๋ช ๋ น์ ์ฌ๋์ด ..