바람직한 알고리즘 주어진 문제를 체계적인 절차로 해결했다고 해서 모든 알고리즘이 바람직하다고는 할 수 없다. '좋은 알고리즘'의 특성은 다음과 같다. 모호하지 않고 이해하기 쉽도록 명확해야 한다. 같은 문제를 해결하는 알고리즘 사이에 수행시간 수백 배 차이가 날 수 있다. 가장 적은 수행시간을 갖는다. 알고리즘 분석 알고리즘의 타당성을 확인하기 위해 알고리즘을 분석할 필요가 있다. 여기서 '소요시간(수행시간)'이 가장 중요하다. 알고리즘 a는 연산시간 1/5초 걸릴 수 있고, 알고리즘 b는 연산시간 5초 걸릴 수도 있다. n의 값 25를 기점으로 수행시간에 현저한 차이를 보인다. 재귀와 귀납적 사고 재귀란, 자기호출(recurrence)이며, 어떤 문제 안에서 크기만 다를 뿐 성격이 똑같은 작은 문제 포..