알고리즘
algorithm
알고리즘의 특성
- Input. An algorithm has input values from a specified set.
- Output. From each set of input values an algorithm produces output values from a spec- ified set. The output values are the solution to the problem.
- Definiteness. The steps of an algorithm must be defined precisely.
- Correctness. An algorithm should produce the correct output values for each set of input values.
- Finiteness. An algorithm should produce the desired output after a finite (but perhaps large) number of steps for any input in the set.
- Effectiveness. It must be possible to perform each step of an algorithm exactly and in a finite amount of time.
- Generality. The procedure should be applicable for all problems of the desired form, not just for a particular set of input values.
- 입력. 알고리즘은 명시된 집합으로부터 입력값을 갖는다.
- 출력. 알고리즘은 입력값의 각 집합을 받아 명시된 집합의 출력값을 만든다. 알고리즘의 출력값은 문제의 해이다.
- 명확성. 알고리즘의 각 단계는 명확히 정의되어야 한다.
- 정확성. 알고리즘은 입력값의 각 집합에 대해 정확한 출력값을 만들어야 한다.
- 유한성. 알고리즘은 집합에 있는 어떤 입력에 대해서도 유한한 수의 단계를 거친 후 원하는 출력을 만들어 내야 한다.
- 효율성. 알고리즘의 각 단계를 반드시 유한한 시간 내에 수행하는 것이 가능해야 한다.
- 일반성. 프로시저는 단지 특정한 집합의 입력값에 대해서만 아니라 요구되는 형태의 모든 문제에 적용할 수 있어야 한다.
참고문헌
- Rosen의 이산수학 / Kenneth H. Rosen 저 / 공은배 등저 / 한국맥그로힐(McGraw-Hill KOREA) / 2017년 01월 06일