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

Dev
개인인증판매자스토어
최초 등록일
2016.09.15
최종 저작일
2015.04
12페이지/한글파일 한컴오피스
가격 1,000원 할인쿠폰받기
다운로드
장바구니
퀴즈OX 이벤트

소개글

알고리즘(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)

Dev
판매자 유형Gold개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

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

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