-
재귀와 귀납적 사고
재귀를 사용하는 알고리즘이 많으며 일반적으로 재귀와 관계없다고 생각하는 선택 정렬이나 버블 정렬도 재귀적 관점에서 보면 이해하기 쉬워진다.
귀납적 사고는 작은 입력에 대해 옳다고 가정하고 큰 입력에 대한 처리를 진행하는 것을 말한다.
이는 수학적 귀납법의 작은 값에 대해 옳다고 가정하고 문제와의 관계를 통해 결론이 옳음을 보이는 것과 비슷하다.
알고리즘으로 푸는 문제
- 최단경로 알고리즘 두 지점간의 최단경로 혹은 최단시간의 경로를 찾는 것
- ex) 네비게이션
- 스케줄링 한정된 자원을 효율적으로 이용하는 방법
- ex) 자판기 관리
- 검색 원하는 검색 결과를 최대한 빨리 반환하는 것
- ex) 인터넷 검색 엔진
- 정렬 주어진 값을 정해진 순서대로 정렬하는 방법
- ex) 고객 메일링 리스트
- 최단경로 알고리즘 두 지점간의 최단경로 혹은 최단시간의 경로를 찾는 것