알고리즘 제4 장 실천 보고서

5807 단어
  • 실천 문제: 프로그램 저장 문제
  • 문제 설명: n 개의 프로그램 {1, 2,..., n} 을 L 길이 의 테이프 에 저장 해 야 합 니 다.프로그램 i 테이프 에 저 장 된 길 이 는 li, 1 ≤ i ≤ n 입 니 다.프로그램 저장 문 제 는 n 개의 프로그램 이 테이프 에 있 는 저장 방안 을 확인 하여 테이프 에 가능 한 한 많은 프로그램 을 저장 할 수 있 도록 해 야 합 니 다.주어진 n 개의 프로그램 이 테이프 에 저 장 된 길이 에 대해 테이프 에 가장 많이 저장 할 수 있 는 프로그램 수 를 계산 합 니 다.입력 형식: 첫 줄 은 파일 개수 n 과 테이프 길이 L 을 나타 내 는 정수 2 개 입 니 다.다음 줄 에는 프로그램 이 테이프 에 저 장 된 길 이 를 나타 내 는 n 개의 정수 가 있 습 니 다.출력 형식: 출력 이 가장 많이 저장 되 는 프로그램 수 입 니 다.샘플 입력: 여기에 입력 그룹 을 드 립 니 다.예 를 들 어
    6 50 
    2 3 13 8 80 20
    
    출력 사례: 여기 서 해당 하 는 출력 을 드 립 니 다.예 를 들 어
    5
  • 알고리즘 설명
     1 #include
     2 using namespace std;
     3 void swap(int a[],int i,int j){
     4     int t = a[i];
     5     a[i] = a[j];
     6     a[j] = t;
     7 }
     8 
     9 void bubble_sort(int a[],int len){
    10     int max = len-1;
    11     int i,j;
    12     for(i=0;i){
    13         for(j=i+1;j){
    14             if(a[i]>a[j]){
    15                 swap(a,j,i);
    16             }
    17         }
    18     }
    19 }
    20 
    21 
    22 int main(){
    23     int n,L,sum=0,count=0;
    24     int a[100];
    25     cin>>n>>L;
    26     for(int i=0;i){
    27         cin>>a[i];
    28     }
    29     bubble_sort(a,n);
    30     for(int i=0;i){
    31         if(a[i]<=L){
    32             L-=a[i];
    33             count++;
    34         }
    35     }
    36     cout<endl;
    37     return 0;
    38 }

     
  • 알고리즘 시간 과 공간 복잡 도 분석 (분석 과정 이 있어 야 함) 이 알고리즘 의 시간 은 주로 거품 정렬 에 쓰 이 고 시간 복잡 도 는 O (n ^ 2) 이 며 공간 복잡 도 는 주로 방법 을 호출 했 기 때문에 방법 안에 또 다른 방법
  • 이 호출 되 었 다.
  • 소감 (이번 실천 수확 과 의혹 을 정리) 이번 실천 은 주로 욕심 산법 에 대한 깊 은 이해 이다.이 실천 문제 에서 거품 서열 도 언급 되 었 는데 프로 그래 밍 문 제 는 현재 배 운 것 을 시험 하 는 것 외 에 우리 이전의 지식 도 고찰 한 것 을 알 수 있다.모든 단 계 는 다음 단계 의 기초 이기 때문에 우 리 는 현재 의 것 을 더욱 잘 배 워 야 한다.
  • 좋은 웹페이지 즐겨찾기