추이와 귀속(구별)
차례로 미루고 귀속시키다
본고의 일부 내용은 다른 사람의 블로그에서 옮겨졌고 작가의 관련 정보와 블로그 주소는 글 끝에 있다.
콘셉트
2. 데이터 간의 논리적 관계(즉 데이터 구조)는 트리, 그림 등 정의와 조작에 귀속된다.
3. 일부 문제는 뚜렷한 귀속 관계나 구조가 없지만 문제의 해법은 한 조의 조작을 계속 반복적으로 집행하는 것이다. 단지 문제의 규모가 커지고 작아지면서 특정한 원 조작(기본 조작)이 끝날 때까지 한다.예컨대 한노타 문제.
2. 귀속 전략을 사용할 때 반드시 명확한 귀속 종결 조건이 있어야 한다. 이를 귀속 수출(또는 귀속 경계)이라고 한다.
반복 알고리즘을 작성할 때는 먼저 다음 세 가지 문제를 분석해야 합니다.
귀속 알고리즘으로 해결해야 할 문제는 그 규모가 보통 비교적 큰데 문제에서 규모의 크기(또는 문제의 복잡도)를 결정하는 양은 어떤 것들이 있습니까?찾아내.
어떤 상황에서 문제의 해답을 직접 얻어낼 수 있습니까?이것이 바로 문제의 경계 조건과 경계 값이다.
규모가 크고 해결하기 어려운 문제를 규모가 작고 해결하기 쉬운 동일한 문제로 바꾸려면 어떤 절차나 공식을 통해 실현해야 합니까?이것은 귀속 문제를 해결하는 난점이다.이 절차나 공식을 확정해라.
알고리즘 예1
public class Fibonacci {
static int fun(int n){
if(n == 1 || n == 2){
return 1 ;
}else{
return fun(n-1) + fun(n-2) ;
}
}
public static void main(String[] args) {
for(int i = 1 ; i <= 15 ; ++i)
System.out.println(fun(i));
}
}
static int fun2(int n){
int a[] = new int[20] ;
a[1] = 1 ;
a[2] = 1 ;
for(int i=3 ; i<=n ;i++){
a[i] = a[i-1] + a[i-2] ;
}
return a[n] ;
}
알고리즘 예제 2
public class Sum {
static int fun(int n){
if( n == 1){
return 1 ;
}else{
return fun(n-1) + n ;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(fun(100));
}
}
static int fun2(int n){
int a[] = new int [200] ;
a[1] = 1 ;
for(int i=2 ; i<=n ; i++){
a[i] = a[i-1] + i ;
}
return a[n] ;
}
알고리즘 예제 3
public class Ladder {
static int fun(int n){
if(n == 1){
return 1 ;
}else if(n == 2){
return 2 ;
}else{
return fun(n-1) + fun(n-2) ;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(fun(5));
}
}
static int fun2(int n){
int a[] = new int [200] ;
a[1] = 1 ;
a[2] = 2 ;
for(int i=3 ; i<=n ;i++){
a[i] = a[i-1] + a[i-2] ;
}
return a[n] ;
}
상술한 예에서 알 수 있듯이 귀환의 중점은 귀환 관계와 귀환 수출을 찾는 것이다.
요약 정보:
1. 미루는 것은 이미 알고 있는 조건에서부터 시작한다.
2. 추이는 반드시 명확한 통용 공식이 있어야 한다.
3. 추이는 반드시 유한 회 연산이어야 한다.
반복 요약:
1. 귀속: 미지의 것을 이미 알고 있는 것으로 미루고 여기서 귀환한다.
2. 기본 사상: 복잡한 조작을 약간의 중복된 간단한 조작으로 분해한다.
추이와 귀속에 관한 글은 다음과 같다.
1. https://blog.csdn.net/a1046765624/article/details/66530637
2.---------------------------------저자: 잎사귀 청일 출처: CSDN 원문:https://blog.csdn.net/u013634252/article/details/80551060판권 성명: 본고는 블로거의 오리지널 문장입니다. 옮겨 싣기 위해 블로거 링크를 첨부하세요!