알고리즘(3판)(FOUNDATION OF ALGORITHMS USING C++ PSEUDOCODE) 2장 예제코드 및 연습문제

최초 등록일
2016.09.15
최종 저작일
2015.04
12페이지/한글파일 한컴오피스
가격 1,000원 할인쿠폰받기
판매자kbm**** 25회 판매
다운로드
장바구니

소개글

알고리즘(3판)(FOUNDATION OF ALGORITHMS USING C++ PSEUDOCODE) 2장 예제코드 및 연습문제
*연습문제는 1번, 2번, 3번, 19번만 포함되어 있습니다. 착오 없으시길 바랍니다.

목차

1. 이항계수 구하기
1-1. 분할 정복법
1-2. 동적 계획법

2. 이분검색

3. 합병정렬

4. 빠른정렬

5. 플로이드 알고리즘

6. II 연습문제

본문내용

문제: n 개 키를 비내림차순으로 정렬
입력: 양의 정수 n, 키의 배열 S(첨자는 1부터 n까지)
출력: 키가 비내림차순으로 정렬된 배열 S

void mergesort(int n, keytype S[]){
if (n>1) {
const int h = ⌊n/2⌋, m = n - h;
keytype U[1..h], V[1..m];
copy S[1] through S[h] to U[1] through U[h];
copy S[h+1] through S[n] to V[1] through V[m];
mergesort(h, U);
mergesort(m, V);
merge(h, m, U, V, S);
}
}
문제: 2개의 정렬된 배열을 하나의 정렬된 배열로 합병
입력: 양의 정수 h와 m, 정렬된 키의 배열 U(1부터 h까지), 정렬된 키의 배열 V(1부터 m까지)
출력: U와 Ω의 키들을 모두 포함하여 정렬된 배열 S(1부터 h+m까지)

void merge(int h, int m, const keytype U[], const keytype V[], keytype S[]){
index i = 1, j = 1, k = 1;
while ( i<=h && j<=m ) {
if( U[i] < V[j] ){
S[k] = U[i];
i++;
}else{
S[k] = V[j];
j++;
}
if( i>h ) copy V[j] through V[m] to S[] through S[h+m];
else copy U[i] through U[h] to S[] through S[h+m];

ㆍ코드
void MergeSort( int n, int *s);
void Merge( int h, int m, const int *u, const int *v, int *s );

void main(){
int s[] = {27,10,12,20,25,13,15,22}, i;
MergeSort(8, s);

참고 자료

없음

이 자료와 함께 구매한 자료

자료후기(1)

자료문의

ㆍ이 자료에 대해 궁금한 점을 판매자에게 직접 문의 하실 수 있습니다.
ㆍ상업성 광고글, 욕설, 비방글, 내용 없는 글 등은 운영 방침에 따라 예고 없이 삭제될 수 있습니다.
ㆍ다운로드가 되지 않는 등 서비스 불편사항은 고객센터 1:1 문의하기를 이용해주세요.

판매자 정보

kbm****
회원 소개글이 없습니다.
판매지수
ㆍ판매 자료수
19
ㆍ전체 판매량
1,000+
ㆍ최근 3개월 판매량
61
ㆍ자료후기 점수
평균 A
ㆍ자료문의 응답률
받은문의없음
판매자 정보
ㆍ학교정보
  • 비공개
ㆍ직장정보
  • 비공개
ㆍ자격증
  • 비공개
  • 위 정보 및 게시물 내용의 진실성에 대하여 해피캠퍼스는 보증하지 아니하며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
    위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지되어 있습니다.
    저작권침해, 명예훼손 등 분쟁요소 발견시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.

    찾던 자료가 아닌가요?아래 자료들 중 찾던 자료가 있는지 확인해보세요

    상세하단 배너
    우수 콘텐츠 서비스 품질인증 획득
    최근 본 자료더보기
    알고리즘(3판)(FOUNDATION OF ALGORITHMS USING C++ PSEUDOCODE) 2장 예제코드 및 연습문제