Skip to content

CAU-DOSC/Rotation31

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e912a1a · Dec 8, 2017

History

33 Commits
Dec 5, 2017
Dec 8, 2017
Dec 5, 2017
Dec 5, 2017
Dec 5, 2017
Dec 5, 2017
Dec 5, 2017

Repository files navigation

1. Trivial.c -> 장동훈
        외부에 temp변수를 선언하고 str의 끝변수를
	저장한뒤에 한 칸씩 밀어준다.
	이를 d번 반복한다.
	
2. Juggle.c -> 강명석
        배열의 길이(n)과 rotatae 할 수(d)의 최대 공약수를 구한다.
        반복문을 n,d의 Gcd 만큼의 횟수를 반복하는데 이는 
        회전을 시킬때 n을 mod 0 ,mod 1, ..... mod Gcd-1 끼리의 집합 들끼리 바꿔준다 생각할 수 있다. 
        예를 들어 n=6 d=3 이라하면 처음엔 mod 0 끼리 즉 0,3 끼리 바꾸고 그다음은 mod1 즉 1,4끼리 바꾸고 그다음은 mod2 (2,5)끼리 바꾸면 성공적으         로 Rotate 시킬 수 있다.
	
3. bw.c -> 양수영
        char 형 배열에서 두 부분으로 나눈후 작은 부분을 앞이나 뒤로 보내고 
	다시 큰 부분을 두부분, 즉 작은 부분과 같은 크기의 배열 하나와 나머지 하나로 나눈다. 
	이때 작은 부분의 배열과 같은 크기의 배열의 위치를 서로 바꾸는 작업을 한다. 
	이를 두 부분의 크기가 같아질 때까지 반복한 뒤, 
	두 크기가 같아지면 그 둘을 swap한다.

4. reverse.c -> 김동욱
	reverse를  이용한 Rotate방식
	d에 해당하는 사이즈만큼 동적할당
	배열의 d번째의 데이터 까지 동적메모리에 input
	나머지 str의  데이터를 이동
	동적메모리에 저장된 데이터를 str에 삽입 
	
	
5. main ->김재범
time.h 라이브러리를 이용한 clock함수를 이용해서 진행 시간 얻어냄
데이터를 랜덤 함수를 이용해 랜덤한 데이터를 얻어내고 struct에 저장

실험 결과
STRLength	ROTATEdistance 	T.trivial	J.juggle	T.bw		T.reverse
379		-163		1.778		0.016		0.015		0.016
460		108		1.373		0.016		0.015		0.031
526		-310		4.696		0.031		0.016		0.031
591		-122		2.088		0.016		0.031		0.016
771		-614		13.748		0.047		0.031		0.045

실험 결과는 스트링의 길이가 커지면 커질수록 trivial의 실행 시간은 매우 커지는것에 비해 다른 juggle bw reverse는
실행이 스트링의 길이와 상관없이 매우 짧음을 알 수 있다.
따라서 trivial은 다른 3개의 펑션에 비해서 효율이 매우 좋다는 것을 알 수 있다.

6. header -> 박승수
 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages