정의
요건
완전성과 명확성
: 수행 단계와 순서가 완전하고, 명확하게 명세되어야 함
: 알고리즘을 실행하면 의도한 결과가 얻어져야 함
Input과 Output
: Input = 알고리즘이 처리해야 할 대상
: Output = Input Data를 처리하여 얻은 결과물
유한성
: 유한한 단계 뒤에는 반드시 종료
vs Program
Algorithm 기술을 위해 정의한 Language
사람이 이해하기 쉽고, 프로그램 언어로의 변환이 용이
특정 프로그래밍 언어가 아니므로 직접 실행은 불가능
pseudo-code : ADL + 약간의 자연어로 기술한 것
⇒ 프로그래밍 언어의 일반적인 형태와 유사하게 알고리즘을 표현한 것