Skip to content

CAU-DOSC/Rotation44

Repository files navigation

README file for TEAM[4,4]:

This text file describes brief but precise and complete specification of project including:

  • funtion descriptions: name, input/output parameters
  • declaration of of important data and data types to be included in user header file
  • your team's brief ideas of implementations

Your description start form next line and do not delete lines upto this point.

<ํ”„๋กœ์ ํŠธ ์š”์•ฝ>

  • Input data ๋ฅผ ์ƒ์„ฑํ•˜๋Š” function gendata๋กœ str, n, d data๋ฅผ ์ƒ์„ฑ
  • trivial solution, juggling / block-swap / reverse 4๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌ๋ถ„
  • String length์™€ rotate distance์— ๋”ฐ๋ฅธ ์ˆ˜ํ–‰์‹œ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๋น„๊ต ์ถœ๋ ฅ

<์—ญํ•  ๋ถ„๋‹ด>

  • main : ๊น€๋ณ‘์ฃผ
  • trivial solution : ์ด์ฐฌ์˜
  • juggling : ์œ ์Šนํ›ˆ
  • blockswap : ์ตœ์Šน์›
  • reverse : ๋ฐ•์†Œํ˜„

< fuction descriptions >

name : trivial input parameter : char *str, int n, int d output parameter : void

name : jug input parameter : int d, int num, char *vector, int gcd output parameter : void

name : BS input parameter : int Length, int D, char *str output parameter : void

name : swap input parameter : int a, int z, int sD, char *str output parameter : void

name : Rev input parameter : int Length, int D, char *str output parameter : void

name : reverse input parameter : int start, int end, char *str output parameter : void

< Declaration of important data and data types in user header file>

  • ํŒŒ์ผ๋ช… : header.h
  • ์‚ฌ์šฉ๋œ ํ—ค๋”ํŒŒ์ผ : <stdio.h>, <stdlib.h>, <string.h>, <math.h> <time.h>
  • main์— ์‚ฌ์šฉํ•  ํ•จ์ˆ˜ ์„ ์–ธ : BS, Swap, Rev, reverse, trivial

< test's result >

String distance Rotate distance Trivial Reverse Juggling BS

100 3 0.000000ms 0.000000ms 0.000000ms 0.000000ms 1000 10 2.000000ms 0.000000ms 0.000000ms 0.000000ms 10000 1234 28.000000ms 0.000000ms 14.00000ms 0.000000ms 10000 3000 160.000000ms 0.000000ms 0.000000ms 0.000000ms 100000 30 38.000000ms 3.000000ms 5.000000ms 2.000000ms 1000000 10000 26554.0000ms 3.000000ms 4.000000ms 3.000000ms 1000000 30 77.000000ms 4.000000ms 8.000000ms 3.000000ms

< ์ถ”๋ก  ๊ฒฐ๊ณผ >

(string distance : n, rotate distance : d)

trivial ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ ์‹คํ–‰ํ•  ๋•Œ, ๋กœํ…Œ์ดํŠธํ•˜๊ณ  ์‹ถ์€ ๋งŒํผ n X d๋ฒˆ ๊ณ„์‚ฐํ•ด์ฃผ์–ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค. >> (n X d)

juggling ๋ฐฉ์‹์€ n, d์˜ ๊ด€๊ณ„์— ๋”ฐ๋ผ ์‹คํ–‰์‹œ๊ฐ„์ด ๋‹ฌ๋ผ์ง„๋‹ค. n,d ๊ฐ€ ์„œ๋กœ์†Œ์˜ ๊ด€๊ณ„์ผ ๊ฒฝ์šฐ ์˜ค๋ž˜๊ฑธ๋ฆฌ์ง€๋งŒ, ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋น ๋ฅธ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. >> ( ์ตœ์†Œ n๋ฒˆ )

reverse ์ด 3๋ฒˆ ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ ์•ž์—์„œ d๋งŒํผ, ๋‚˜๋จธ์ง€๋ถ€๋ถ„ n-d, ์ „์ฒด๋ถ€๋ถ„ n์—์„œ ๊ฐ๊ฐ d/2๋ฒˆ, (n-d)/2๋ฒˆ, n/2๋ฒˆ์˜ ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ ธ ์ด n๋ฒˆ์˜ ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ง„๋‹ค. >> ( n๋ฒˆ )

block - swap ์ขŒ์šฐ ๊ธธ์ด๋ฅผ ๋น„๊ตํ•˜์—ฌ ์งง์€ ๊ธธ์ด๋งŒํผ์˜ ๊ณ„์‚ฐ๊ณผ์ •์„ ์ขŒ์šฐ ๊ธธ์ด๊ฐ€ ๊ฐ™์„๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์ค€๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์•…์˜ ๊ฒฝ์šฐ n๋ฒˆ์˜ ๊ณ„์‚ฐ์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค. d๊ฐ€ n์˜ ์•ฝ์ˆ˜์ผ ๊ฒฝ์šฐ, ์•ฝ์ˆ˜์ค‘์—์„œ ํฐ ์ˆ˜ ์ผ์ˆ˜๋ก ๋” ๋น ๋ฅธ ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ง„๋‹ค.>> ( ์ตœ๋Œ€ n๋ฒˆ )

๋”ฐ๋ผ์„œ, block - swap > reverse > juggling > trivial ( ๋น ๋ฅด๊ธฐ ์ˆœ์„œ)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages