검색어 입력폼
평가점수D

[자료구조]C C++로 작성한 각각의 sort알고리즘 구현과 시간측정(1/1000s), 성능비교

등록일 2004.12.20 파일확장자압축파일 (zip) | 10페이지 | 가격 1,800원

소개글

C언어로 작성 하였고... 여러가지 sorting알고리즘(insertion heap selsection quick.....)
을 이용하여 각각의 알고리즘의 실행시간비교
그리고 성능비교하는 소스와 텀 프로젝트 보고서

각각의 알고리즘 시간을 (1/1000초)까지 정확하게
측정하는 프로그램....그리고 성능까지...

보고서는 소스를 제외하고도 9페이지 분량으로 각각의 성능을 시간을 제어서 도표로 나타내었고
그래프로도 나타내었습니다.
결론과 과정도 다 나와있습니다...

기말 텀프로젝트로 직접 소스를 작성하여 만점을
받았었습니다.
이것 소스짜고 작성하는데 꼬박 4일을 투자했었죠..

컴파일 실행환경

C언어로 작성 하였고... 여러가지 sorting알고리즘(insertion heap selsection quick)
을 이용하여 각각의 알고리즘의 실행시간비교
그리고 성능비교하는 소스와 텀 프로젝트 보고서

각각의 알고리즘 시간을 (1/1000초)까지 정확하게
측정하는 프로그램....그리고 성능까지...

보고서는 소스를 제외하고도 9페이지 분량으로 각각의 성능을 시간을 제어서 도표로 나타내었고
그래프로도 나타내었습니다.
결론과 과정도 다 나와있습니다...

기말 텀프로젝트로 직접 소스를 작성하여 만점을
받았었습니다.
이것 소스짜고 작성하는데 꼬박 4일을 투자했었죠..

본문내용

#include <stdlib.h> //랜덤 함수를 쓰기 위하여 인클루드
#include <stdio.h>
#include <time.h> //랜덤값에 현재 시간을 넣기위해서 인클루드
#include <windows.h> //GetTickCount()함수를 이용해 프로그램 수행시간을 1/1000초까지 측정하기 위해

#define NUM_OF_DATA 100000 // 생성할 총 난수 데이터를 몇개 지정할건지 선언

void InsertionSort(int data_num[], int data_size); //InsertionSort 함수의 프로토 타입
void SelectionSort(int data_num[], int data_size); //SelectionSort 함수의 프로토 타입
void HeapSort(int data_num[], int data_size); //HeapSort 함수의 프로토 타입
void siftDown(int data_num[], int root, int bottom); //Max heap을 구현한 함수의 프로토 타입
void QuickSort(int data_num[], int data_size); //QuickSort 함수의 프로토 타입
void q_sort(int data_num[], int left, int right); //Pivot의 이동을 구현한 함수의 프로토 타입

int data_num[NUM_OF_DATA]; //총 100000개의 데이터를 생성해서 삽입할 배열을 생성

int i,j;
int count=0; //데이터가 몇개 생성되었는지 알아보기 위한 카운터 생성과 초기화


///////////랜덤함수를 이용하여 100000개의 중복되지 않는 난수 발생하는 함수///////////////////////////////////
void random_create()
{
srand((unsigned)time( NULL )); //무작위 난수 생성

for (i = 0; i < NUM_OF_DATA; i++)
{
data_num[i] = ( rand()*rand() ) %300000; /* rand()함수로 생성할수 있는 난수 갯수는 32767개가 한계이므로
rand()*rand()하여, 범위를 늘여서 난수생성하고 %연산자를
.
.
.
.
.
.///////////////////////////////// 메인 함수 /////////////////////////////////////////////////////////////////
void main()
{
int t; //메뉴 번호를 지정할 변수 생성
unsigned long start; //sorting하는데 걸린 시간을 알아보기위하여 시작시간을 넣어줄 변수 선언
unsigned long now; //sorting이 끝나는 시간을 넣어줄 변수 선언

printf("먼저 100000개의 중복되지 않는 난수를 생성 하겠습니다.\n");
printf("100000개의 난수를 생성하므로 시간이 좀 걸립니다...기다려주세요...\n");

random_create(); //난수 생성하는 함수를 호출

printf("+++++++메뉴를 고르시오+++++++\n"); // 메뉴
printf("+ 1. Insertion Sort +\n");
printf("+ 2. Selection Sort +\n");
printf("+ 3. Heap Sort +\n");

압축파일 내 파일목록

sorting.cpp
sort 보고서.hwp
다운로드 맨위로