CS/알고리즘

알고리즘 - 알고리즘

clamp 2022. 4. 14. 19:14

알고리즘이란 이름은 페르시아 수학자 알라콰즈미(al-Khwarizmi 서기 780 ~ 850년)로부터 유래되었다.

 

알고리즘은 문제를 해결하는 단계적 절차 또는 방법이다.

입력이 주어지고, 수행 결과인 해(또는 답)을 출력한다.

 

알고리즘의 특성

- 정확성

 알고리즘은 주어진 입력에 대해 올바른 해를 주어야 한다. 

- 수행성

 알고리즘의 각 단계는 컴퓨터에서 수행이 가능하여야 한다.

- 유한성

 알고리즘은 유한 시간 내에 종료되어야 한다.

- 효율성

 효율적일수록 그 가치가 높아진다.

알고리즘은 항상 시간적, 공간효율성을 갖도록 고안되어야한다. 

 

알고리즘의 분류

- 분할 정복

- 그리디

- 동적 계획

- 근사

- 백트래킹

- 분기 한정

그 외에도 확률 개념이 사용되는 랜덤, 병렬, 분산, 양자 알고리즘 등이 있다.