자바 재귀함수 예제

에 의해 게시: 알도 Ziflaj 코어 자바 9 월 18 th, 2014 0 재귀와 보기, 그래도, 우리는 마법의 가정을 통해 생각하 여 그것을 할 수 있습니다. 우리가 네 글자 단어를 가지고 있다면, 우리의 마법의 가정은 우리가 우리의 재귀 방법은 네 글자 미만으로 모든 단어를 처리하는 방법을 알고 가정 할 수 있습니다. 그래서 우리가 바라는 것은 네 글자 단어의 각 문자를 가지고, 나머지 문자의 모든 세 글자 순열의 앞에 그 편지를 배치하는 것입니다. 동쪽을 감안할 때, 우리는 동쪽에 도착하고, 먹고, 먹고, 에사ᆞ에스타ᆞ에타ᆞ에타ᆞ에타ᆞ에타ᆞ에타ᆞ에타ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ 그런 다음 우리는 에스트의 여섯 순열 의 앞에 배치, 다음 먹는 모든 여섯 순열 앞에 s, 그리고 마지막으로 eas의 모든 여섯 순열 앞에 t. 따라서 네 글자 단어의 모든 순열을 표시하는 네 개의 재귀 호출이있을 것입니다. 꼬리 재귀와 비꼬리 재귀의 차이점은 무엇입니까? 재귀 함수는 재귀 호출이 함수에 의해 실행되는 마지막 일 때 꼬리 재귀함수입니다. 자세한 것은 꼬리 재귀 용품을 참조하십시오. 각 재귀 호출은 JVM의 스택 메모리에 새 프레임을 추가합니다. 따라서 재귀 호출이 얼마나 깊게 잠수할 수 있는지에 주의를 기울이지 않으면 메모리 부족 예외가 발생할 수 있습니다. 재귀 방법의 기본 케이스는 길이가 2픽셀에 달하는 경우입니다.

이 경우 그릴 흥미로운 트리가 없으므로 메서드가 즉시 반환됩니다. 그러나 길이가 2픽셀 이상인 경우 기본 삼각법을 적용하여 트렁크의 다른 끝의 좌표를 계산합니다. 트렁크 각도의 코사네와 사위를 계산하기 위해 이 메서드는 acm.graphics 패키지의 GMath 클래스에 있는 정적 방법 인 cosDegrees 및 sinDegrees를 사용합니다. 트렁크의 다른 끝의 좌표를 계산한 후 이 메서드는 트렁크에 해당하는 선을 추가합니다. 그런 다음 각 분기를 그리기 위해 두 번 의 재귀 호출을 합니다. 두 가지 는 전체 트리보다 약간 작으며(왼쪽 분기의 경우 75%, 오른쪽의 경우 66%) 트렁크에서 각도로 회전합니다(왼쪽 분기의 경우 시계 반대 방향으로 30°, 오른쪽의 경우 시계 방향으로 50° 시계 방향으로). 컴파일러는 이 점을 사용하여 메모리를 최적화할 수 있지만 Java 컴파일러는 현재로서는 꼬리 재귀에 최적화되지 않습니다. 예를 들어 – 1, 1, 2, 3, 5, 8, 13, 21, 34 등…

우리의 재귀 방법은 그릴 개스킷의 위치를 나타내는 세 가지 매개 변수를 취할 것입니다; 처음 두 매개변수는 개스킷의 왼쪽 상단 모서리의 x- 및 y 좌표를 나타내고, 세 번째 매개변수는 개스킷의 너비와 높이를 나타냅니다.

Share on Google+Share on FacebookTweet about this on Twitter
error: Садржај је заштићен !!