알고리즘과 프로그램의 차이
'알고리즘(Algorithm)'이란 계산이나 작업을 하기 위한 순서를 의미한다. 쉽게 특정 문제를 컴퓨터로 해결하기 위한 순서가 알고리즘이다. 이 때 알고리즘은 모든 순서가 수학적으로 기술된다.
알고리즘을 프로그램과 비슷하다고 생각할 수도 있다. 나도 알고리즘이 프로그램에서 사용하는 일종의 메서드인 줄 알았었다. 하지만 둘의 차이점은 프로그램은 컴퓨터상에서 실행할 수 있도록 컴퓨터가 이해할 수 있는 언어로 작성하는 것에 반해, 알고리즘은 프로그램을 작성하기 이전 단계에서 사람이 이해할 수 있도록 작성하는 것이라고 한다. 다만 알고리즘과 프로그램의 구분선을 분명하게 긋는 것은 어렵다고 한다.
같은 알고리즘이라도 프로그래밍 언어가 다르면 다른 프로그램이 되고, 같은 프로그래밍 언어를 사용한다 해도 프로그램을 작성하는 사람에 따라 다른 프로그램이 된다고 한다. 작성하는 사람에 따라 다른 프로그램이 된다는 말은 아마 프로그래밍 하는 것과 같이 내가 코드를 구현하는 방법과 다른 사람이 코드를 구현하는 방법이 다른 것처럼 구현 방식의 차이로 이해했다.
알고리즘 선택 방법
같은 문제를 푸는 알고리즘이 여러 개 있을 때 사용할 알고리즘을 선택하기 위해 알고리즘의 좋고 나쁨을 평가하는 기준은 여러 개가 있다. 예로 간단한 알고리즘은 사람이 이해하기 쉽고 프로그램으로 작성하기도 쉽다. 또는 실행 중 기억 영역이 적어도 되는 알고리즘은 메모리가 작은 컴퓨터상에서도 동작한다. 보편적으로 가장 중요시되는 것은 계산 시간이다.

참고 서적: 알고리즘 도감 - 이시다 모리테루, 미야자키 쇼이치/ 김완섭
'알고리즘 > 알고리즘 도감' 카테고리의 다른 글
데이터 구조란? (0) | 2022.05.29 |
---|---|
계산 시간을 표현하는 방법 (0) | 2022.05.28 |
계산 시간 구하는 법 (0) | 2022.05.27 |
입력 크기와 계산 시간과의 관계 (0) | 2022.05.26 |
정렬(sort) (0) | 2022.05.25 |