알고리즘.

2011. 6. 30. 15:12머리쓰기/알고리즘

Algorithm 

정의
: 어떠한 문제를 풀기 위한 절차나 방법
: 알고리즘이란 특정 작업을 수행하는 명령어들의 유한 집합이다. 또한 모든 알고리즘은 다음과 같은 조건들을 만족시켜야 한다. 

1. 입력 : 외부에서 제공되는 데이타가 0개 이상 있다.
2. 출력 : 적어도 한 가지 이상의 결과를 생성한다.
3. 명확성 : 각 명령은 명확하고 모호하지 않아야 한다.
4. 유한성 : 알고리즘의 명령대로 수행하면 어떤 경우에도 한정된 수의 단계 뒤에는 반드시 종료된다.
5. 유효성 : 원칙적으로 모든 명령들은 종이와 연필만으로 수해알 수 있도록 기본적인 것이어야 한다.
   ( 각 연산이 3.에서처럼 명확하기만 해서는 안 되고 반드시 실행 가능해야 한다. )



뭐 단순히 우리과에 맞추면 
어떠한 기능을 컴퓨터가 수행할 수 있도록, 명령어의 순서를 정해주는 정도??
요즘은 컴퓨터의 성능이 워낙 좋아서... 

작은 프로그램 같은 경우엔 중요치 않다고 보지만
(예를 들면 빛이 지구를 1바뀌 돌고 오던  7바퀴를 돌고 오던 내가 느끼는 속도는 같은 것과 같다.)

위 예는 너무 극단적인 경우일 뿐이고 실상은 그렇지 않기에 알고리즘은 중요하다.