붕망과 같다.Net Basic 1 특강: 반복
귀속: 방법은 스스로 자신을 호출한다.(종료 조건이 있어야 함)
스스로 귀속 호출 과정을 분석하다
매번 호출 방법은 방법에 메모리 공간을 만들고 한 방법의 두 번 호출하면 두 개의 메모리 공간이 있습니다.
모든 냉색 이 호출되는 국부 변수 는 서로 영향 을 주지 않고 독립적 이다
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 섹션 2 - 재귀적 사례: 계승
두 가지 조건:
1.추이 방법;
2.귀속의 종지 조건 (어떤 상황이 다시 귀속되지 않는가)
계승:5!=5*4*3*2*1 f(n)=n*f(n-1)
// : 。 : ; : 。
// :5!=5*4*3*2*1。6!=6*5*4*3*2*1。f(n)=n*f(n-1)
static int jiecheng(int n)
{
//
//return n * jiecheng(n - 1);
if (n < 0) { throw new Exception("n "); } if (n == 0) { return 1; } return n * jiecheng(n - 1); }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 절 3 - 역귀사례: 페포나치 이마 수열
//1,1,2,3,5,8,13,21..... n ( 0 ) ?
// :f(n)=f(n-1)+f(n-2)。 :n=0,1 return 1。
static int fib(int n)
{
if (n < 0) { throw new Exception("n "); } if (n == 0 || n == 1) { return 1; } return fib(n - 1) + fib(n - 2); }
- - - - - - - - - - - - - - - 4 섹션 4 - 비귀속 알고리즘
static int jiecheng2(int n)
{
if (n < 0)// !
{ throw new Exception("n "); } //n*(n-1)*(n-2)*1 int result = 1; for (int i = 1; i <= n; i++) { result = result * i; } return result; } static int fib2(int n) { if (n < 0) { throw new Exception("n "); } if (n == 0||n==1) { return 1; } int[] nums= new int[n+1]; nums[0] = 1; nums[1] = 1; for (int i = 2; i < n + 1; i++) { nums[i] = nums[i - 1] + nums[i - 2]; Console.WriteLine(string.Join(",",nums));//string.Join , } return nums[n];// }
단점: 귀속 호출 프로그램이 많고 효율이 낮으며 점 메모리가 크다(어떤 귀속 알고리즘은 비귀속 알고리즘으로 전환할 수 있다)
파라미터 합법성 검사는 면접 시 가산점이다.
string.Join은 집합을 어떤 구분자로 연결하여 문자열로 만든다
면접의 중점은 곱하기와 피보나치 수열의 귀속과 비귀속 알고리즘이다.(손으로 쓴다)
여붕망:http://www.rupeng.com
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.