알고리즘 검사 보고서 - 3 (욕심 4 장) | (12) 블로그

· 3 알고리즘 실험 보고서

제목 : 욕심

시간 : 2019년 11월 16일

 

분석 프로그램 저장 문제. 내용은 다음과 같습니다

1, 연습 제목

 

 

문제의 설명

집합 E = {L1, L2, L3 , L4, L5, L6}, 즉, 초기화 (기준 블록 길이 비 내림차순 순서 ) 프로그램, 집합 A = {}, 즉, 선택된 프로그램의 길이의 길이로 선택한다.

i 번째의 선택, E = {리 + 1 리 + 2 ...} A = {... 리튬 1 리는}, 즉, 전류가 각각의 선택 순서 작은 프로그램 사이즈로부터 선택 될 선택된 길이의 합보다 크다 L.까지

 

3, 알고리즘 설명

(1) 욕심 전략 : 당신이 이제까지 새 테이프 길이 (하위 문제를) 사용하여 생산되는 짧은 프로그램의 길이를 선택할 때마다.

(2) 코드

사용법 #include <iostream> 
#INCLUDE <알고리즘>
 사용  스페이스 성병; 

INT 길이 [ 1000 ]; 

INT의 답변 ( INT N, INT의 l) { 
    정렬 (세로 길이 + N);
    INT R = L;
    INT의 카운트 = 0 ;
    위한 ( INT 난 = 0 , N 난 <; I ++ ) {
         경우 (길이 [I] <= R) { 
            카운트 ++ ; 
            R = R- 길이 [I];            
        }
        다른 
            휴식 ; 
    } 
    반환 카운트; 
} 

int로 {) (주
     INT N, L; 
    CIN >> N >> L;
    위한 ( INT 난 = 0 ; I <N I ++ ) { 
        CIN >> 길이 [I]을; 
    } 
    COUT << 답변 (N, l); 
}

 

(3) 증거

하위 질문-1 N- 하위 질문 1에 최적입니다. 

BTW이 그리 디 선택에서 시작되도록 변형 될 수있는 / 증명 최적 솔루션을 최적 솔루션을 조사하고 수학적 귀납법에 의해 각각의 단계는 최적의 솔루션은 탐욕 선택함으로써 얻을 수있다 증명
1, 바람직한 선택 요소를 가정하는 것은 그리 아니다 요소가 탐욕 원하는 요소를 선택하는 제 대체 요소 증명 여전히 얻을 최적 솔루션,
(2) 최적의 솔루션의 모든 단계를 증명하기 위해 수학적 귀납법은 탐욕 선택함으로써 얻을 수있다

 

(4) 특정 증명

욕심 자연 선택 :

증명 : 문제의 최적의 솔루션을 선택 LK는 (K> 1)이되는 경우에 가정하자 A = {(L1)가 ....} 최적 솔루션으로서, B가 최적의 솔루션 세트 세트 B = A는 - {K} ∪ {(L1)}

A, B, 프로그램의 동일한 번호, L1은 <A 이후 - B가된다 {K}, B는 이렇게 프로그램, 소위, B 액은 최적이고, 호환된다는 그리 디 선택 프로세스 L1 시작 .

따라서, 항상 문제가 욕심 시작 존재에 최적의 솔루션입니다.

 

최적 하부 속성 : 세트 선택 A` = A - {(L1)}, 즉 A '(집합 선택 절차 한 후 선택 될)는 E- E` = {L1} 최적 솔루션을 입증한다.

증명 :

A` 최적 솔루션 E`가 그 프로그램 (A)의 수보다 많은 {L1} A` 추가되지 않는 것으로 가정하고, 모순 가정, 입증 최적의 솔루션이다.

 

4, 알고리즘 복잡도 분석 시공간

(1) 시간 복잡도 : 시간 복잡도 정도로 빠르게 방전 nlogn의 사용으로 인해이 다른 문장 거친 계산, n은 O (nlogn).

(2) 상기 공간 복잡도 : 배열을 개방하므로 공간 복잡도는 O (1)이다.

 

(5), 경험 (대한 요약이 수확 의심의 연습)

다양한 알고리즘의 아이디어 이외의 제 문제의 오류에 기인하여 표제 디자인 적은 시간의 실시 붙어 리드왔다 (경계 결정 / 입력에 의해 수신 될 수없는 경우는 긴 INT / 회전 스트링 어레이 비트)

그리고 욕심 전략을 증명 여전히 국가의 작은 지식을 나타내는 프로그램입니다, 수학의 기초가 단단한 아니라, 수학을 학습 유지, 경고 프로그래밍의 양을 증가로 이어집니다.

동시에, 욕심과 동적의 차이는 더 깊은 이해의 파티션, 탐욕 만 현재 / 과거를 고려할 필요가있다 "후"하향식 (top-down), 고려 할 필요가 없습니다.

 

 

참고 블로그 :

https://blog.csdn.net/sn_zzy/article/details/16892031

https://blog.csdn.net/fan2273/article/details/73549016

추천

출처www.cnblogs.com/gzq18/p/11876634.html