알고리즘은 알고리즘 설계 기법을 기반으로 만들어진다. 퀵정렬과 병합정렬은 구체적인 정렬 방식은 다르지만, 큰 틀에서 정렬 대상 데이터를 둘로 나눠 각각 정렬한 후 그 두 데이터를 연결한다는 점에서 공통점을 가지고 있다. 내용도 다르고 성능도 다르지만 동일한 구조적 기반으로서 알고리즘 설계 기법을 공유하고 있다는 것이다. (퀵정렬과 병합정렬은 '분할정복'이라는 설계 기법을 기반으로 한다) 이처럼 알고리즘 설계기법은 특정 알고리즘이 만들어지는 기반이 된다. 즉, 알고리즘 설계 기법이란 '알고리즘을 어떤 식으로 만들 수 있는가?'에 대한 이야기인 것이다. 알고리즘 설계 기법은 새로운 알고리즘을 만드는데 도움을 준다. 세상에는 훌륭한 알고리즘들이 많이 알려져 있다. 문제를 만나면 그 알고리즘들을 사용해서 해결하..