알고리즘이란? 주어진 문제를 해결하기 위해 체계적으로 기술한 것이다. 이를 설계하려면 문제해결을 위해 무엇을 해야 할지 명확히 알아야 한다. 즉, 입력으로부터 출력을 만들어내야 한다. 예를 들어보자. 한 학교에서 n명의 학생이 시험을 봤다. 그중 가장 높은 점수를 받은 학생만 뽑아야 한다. maxScore(x[],n){ x[1, ... , n]을 차례대로 찾는다. return 최대값을 반환한다. } 알고리즘은 배운다는 것은 곧, 생각하는 방법을 배우고 문제해결에 도움이 되는 생각의 빌딩블록을 제공받는 것이다.