알고리즘의 특성

  • 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일

Documents