C 자료구조/1. 재귀함수

배열에서 최대값 찾기

DesignatedRoom 2020. 7. 16. 23:26

1. 개념

배열에서 최대값을 찾는 문제는 반복문을 이용해서 쉽게 구할 수도 있지만,

재귀함수를 통해 구할 수 있다.

 

배열의 길이를 5라고 하면, 0번 인덱스에서 4번 인덱스까지의 범위에서 최대값을 찾는 문제라고 한다면

1번 인덱스에서 4번 인덱스까지의 범위에서 최대값을 구했다고 가정하면 0번 인덱스와 비교를 통해

최대값을 구하면 된다. 

위 그림에서, 배열의 길이가 5칸이라고 가정하고 보도록하자.

파란색 숫자는 재귀함수의 호출 순서이다. fromIndex는 위의 노란색 화살표이다.

fromIndex가 배열의 맨 마지막 인덱스이면, 맨 마지막 인덱스를 리턴한다.

그러면서, 현재의 인덱스와 그 이전의 인덱스를 서로 비교해서 큰 값을 갖는 인덱스를 리턴하면 된다.

 

2. 구현

프로그램 실행결과