'02.IT Stroy/021.Java'에 해당되는 글 1건

  1. 2015.06.11 [Algorithm] 재귀함수와 스택

[Algorithm] 재귀함수와 스택

|

재귀함수
- 함수의 시작점이 다시 돌아가 자기 자신을 호출하는 것

재귀함수의 종류
- 전위 운행
- 중위 운행
- 후위 운행
- 단계 운행

예제 - Factorial
호출 구조




스택(Stack)
- 프로그램을 실행하는 데 필요한 공간

스택 프레임(Stack Frame)
- 하나의 메서드를 호출하는데 필요한 메모리
- 메서드 하나당 하나의 스택 프레임이 필요




플랫폼별 스택 크기
Windows IA32 - 64 KB
Windows IA64 - 320 KB
Linux IA32 - 128KB
Linux IA64 - 1024KB (1MB)
Windows x86_x64 - 128KB
Linux x86_x64 - 256 KB
Solaris Sparc - 512KB

스택 크기 조정 옵션
- Format : -Xss<size>[g|G|m|M|k|K]
- java -Xss512k myAPP


# Andorid Stack 크기 : 8KB / 256KB(MAX)


꼬리재귀
- 재귀함수에서 호출된 함수가 리턴 될 때 원래 자리로 돌아와야 하는 이유는 ​호출한 부분 다름에 다른 내용이 포함되어 있으면 그 내용을 계속 처리하기 위해서이다.
- 원래 위치로 돌아 갔을 때 할 일이 남아 있지 않기에 함수가 호출된 위치를 기억해 둘 필요 없음.

And
prev | 1 | next