알고리즘(algorithm)은 원하는 결과를 얻기 위해 계산할 수 있는 단계들을 정한 절차다. 같은 문제를 푸는 절차도 입력 조건과 필요한 시간, 공간이 다를 수 있다. (NIST 알고리즘 사전)
- 작품 목록에서 번호를 찾는 예를 생각할 수 있다. 처음부터 하나씩 대조하는 방법과 정렬된 목록의 가운데를 보며 범위를 절반씩 줄이는 이진 탐색은 서로 다른 절차다. (NIST의 이진 탐색 설명)
- 이진 탐색에는 목록이 정렬되어 있다는 조건이 필요하다. 빠른 방법이라는 이름만 가져오지 않고 입력이 그 조건을 만족하는지 확인한다.
- 코드는 절차를 특정 언어로 구현한 것이다. 절차를 설명하는 의사 코드와 실행할 프로그램을 구분하면, 언어의 문법과 방법 자체를 따로 검토할 수 있다.