로그인 회원가입 고객센터
레포트자기소개서방송통신서식공모전취업정보
campusplus
세일즈코너배너
자료등록배너

[자료구조] 정렬알고리즘 비교 분석


카테고리 : 레포트 > 공학,기술계열
파일이름 :[자료구조] 정렬알고리즘 비교 분석.hwp
문서분량 : 17 page 등록인 : leewk2547
문서뷰어 : 한글뷰어프로그램 등록/수정일 : 12.04.06 / 12.04.09
구매평가 : 다운로드수 : 0
판매가격 : 3,000

미리보기

같은분야 연관자료
알고리즘정렬(Heap Sort)... 4 pages 1500
알고리즘 정렬(Sort)과 실행시간... 7 pages 1500
c프로그래밍 정렬 알고리즘에 대해... 12 pages 2000
알고리즘 - 합병정렬, 퀵정렬... 6 pages 1500
[컴퓨터] [알고리즘] 합병정렬 C 소스... 4 pages 800
보고서설명
5.1.3절의 Extendable ArrayVector를 구현하고 반드시 이를 바탕으로 아래 정렬
알고리즘들을 구현할 것. 강의노트에 제시된 알고리즘을 변경하여 작성하는 것을
원칙으로 하며 보고서에 차이점을 기술할 것. 특히, Quick Sort인 경우 어떻게 pivot을
선정했는지 기술할 것.
본문일부/목차
Step 1. 5.1.3절의 Extendable ArrayVector를 구현하고 반드시 이를 바탕으로 아래 정렬
알고리즘들을 구현할 것. 강의노트에 제시된 알고리즘을 변경하여 작성하는 것을
원칙으로 하며 보고서에 차이점을 기술할 것. 특히, Quick Sort인 경우 어떻게 pivot을
선정했는지 기술할 것.

전체 코드는 맨 마지막에 추가하기로 하겠습니다.
template
class ArrayVector{
에서 Object를
class data{
private:
int key;
char element;
public:
data(){};
data(int k, char elem){
key = k;
element = elem;
};
.....
...
위와같이 클래스 data를 선언하여 Object에 data를 사용하였습니다. class data에는 int key, char elem을 선언하여 key값과 문자를 저장할 수 있도록 하여 구현하였습니다.

먼저 메인에서 아래와같이 data타입 ArrayVector를 포인터로 선언하고 동적할당을 하였습니다. 이는 데이터의 개수(크기)가 커지면 이를 처리할 공간(스택)이 부족하게 되어 스택 오버플로우가 발생하게 됩니다. 이를 방지하기위해 동적할당을 하여 힙에 데이터를 저장하도록 하였습니다.
ArrayVector *DS1, *DS2, *DS3;
DS1= new ArrayVector[DATASETNUM];

void checktime(ArrayVector *e) 함수에서도 마찬가지로 data타입의 포인터변수e를 매개변수로 받아서 이를 사용합니다. 이 함수에서 아래의 변수들을 선언하였는데 이는 하나의 데이터로부터 여러개의 변수에 동일한 data을 넣어주기 위해서입니다.
ArrayVector *bubble;
ArrayVector *insert;
ArrayVector *select;
ArrayVector *merge;
ArrayVector *quick ;
각각의 배열에 e의 값을 넣어주어야 하는데 대입연산자 오버로딩을 하지 못해 아래와 같이 풀어썻습니다.
bubble = new ArrayVector[e->size()];
for (i=0; isize(); i++){
bubble->insertAtRank(i, e->elemAtRank(i));
} //이제 e와 bubble는 각각 별개
Bubblesort(bubble);
delete []bubble;
.....
....
#define DATASETNUM 100000를 선언하여 이 값만 바꿔주면 생성되는 데이터의 개수를 조절할 수 있도록 하였습니다.



① Bubble sort
각각의 sort를 구현하는데 있어서 강의노트와 여러 자료들을 참고하였습니다.
강의노트에는 ascending 으로 data를 정렬하게 됩니다. 저는 반대로
연관검색어
정렬알고리즘

구매평가

구매평가 기록이 없습니다
보상규정 및 환불정책
· 해피레포트는 다운로드 받은 파일에 문제가 있을 경우(손상된 파일/설명과 다른자료/중복자료 등) 1주일이내 환불요청 시
환불(재충전) 해드립니다.  (단, 단순 변심 및 실수로 인한 환불은 되지 않습니다.)
· 파일이 열리지 않거나 브라우저 오류로 인해 다운이 되지 않으면 고객센터로 문의바랍니다.
· 다운로드 받은 파일은 참고자료로 이용하셔야 하며,자료의 활용에 대한 모든 책임은 다운로드 받은 회원님에게 있습니다.

저작권안내

보고서 내용중의 의견 및 입장은 당사와 무관하며, 그 내용의 진위여부도 당사는 보증하지 않습니다.
보고서의 저작권 및 모든 법적 책임은 등록인에게 있으며, 무단전재 및 재배포를 금합니다.
저작권 문제 발생시 원저작권자의 입장에서 해결해드리고 있습니다. 저작권침해신고 바로가기

 

⼮üڷٷΰ ⸻ڷٷΰ thinkuniv ķ۽÷