2014-07-07 2 views
0

비 꼬리 재귀 호출은 자바처럼 스택 프레임을 사용하기 때문에, 만약 당신이 아주 쓸데없이 사용하고 있다고 생각합니다. 그러나 이것은 가장 중요한 도구 중 하나이기 때문에 심하게 제한적으로 보입니다.Scala에서 비 꼬리 재귀 함수를 언제 작성합니까?

언제 비 꼬리 재귀 함수를 사용할 수 있습니까? 또한 앞으로 메모리 제한을 제거 할 계획이 있습니까?

+1

비 꼬리 재귀이지만 여전히 재귀 함수/메소드를 의미합니까? 그것들은 꽤 자주 실제로 나타난다. 재귀를 사용하여 나무를 걷는 것을 고려해보십시오. 비 꼬리 재귀 재귀를 사용하면 쉽게 완료 할 수 있습니다. – wingedsubmariner

+0

거의 동일한 질문은 여기에 있습니다 : http://stackoverflow.com/questions/24630692/how-usable-is-non-tail-recursive-recursion-in-scala –

답변

1

Java에서 안전 할 때와 동일한 상황에서 작업하는 데이터 세트가 커지지 않고 성능이 중요한/앱의 경로가 아닌 경우.

또한, IMHO, 알고리즘의 비 꼬리 재귀 버전의 명확성이 꼬리 재귀 버전보다 나은 경우가 있습니다.