본문/내용
제1장 알고리즘의 소개
제1장 알고리즘의 소개 1.1 알고리즘의 정의와 표현
1. 알고리즘의 정의와 표현
■ 알고리즘이란?
다음의 조건을 만족하는 특정한 일을 수행하는 유한개로 구성된 명령어들의 리스트 ‣ 입력 : 0개 이상의 외부 자료 입력
‣ 출력 : 1개 이상의 자료 출력
‣ 명확성(definiteness) : 각 명령어는 분명하고 모호하지 않아야 한다.
‣ 유한성(finiteness) : 일정한 명령의 수행후에는 종료해야 한다.
‣ 유효성(effectiveness) : 각 명령어는 기본적이고 실행가능해야 한다.
■ 알고리즘의 예
• 유클리드 호제법 (Euclidean algorithm)
int gcd(int u, int v)
{
while (u > 0) {
if (u < v) SWAP(u, v);
u = u - v;
}
return v;
}
• 다음의 프로그램은 알고리즘인가?
[3N + 1 문제]
read N
while (N != 1) {
if (N is even)
N = N / 2;
else
N = 3*N + 1;
}