|
랑 님이 쓰신 글 :
:
: double duration;
:
: time_t start, stop;
:
:
: start = time(NULL);
:
:
: printf("How many disk do you want?"); scanf("%d", &n);
:
: hanoitower('A', 'B', 'C', n); /*A,B,C is the name of bars*/
:
:
: stop = time(NULL);
:
: duration = difftime(stop,start);
:
: printf("\n\nTotal step is %d & duration is %d\n\n", count, duration);
:
: return 0;
:
:
: }
:
:
: 작년에 교양필수로 씨언어들어서 재밌길래..자료구조도 들었더니..참 어렵네요
:
: 도움말 색인을 찾아가며 했습니다만..실행시키면 항상 "duration is 0" 이 나오네요. clock도 써봤는데 굉장히 큰 (대략 11자리?)숫자가 나오고..뭔가 틀린부분이 있다면 지도 바랍니다..
ANSI C time 함수는 1초 단위로 시간을 재는 함수입니다. 당연히 1초 이하의 시간은 잴 수 없죠.
알고리듬의 수행 시간을 측정하려면, 몇백~몇천만번을 반복 수행하신후, 평균을 내는 방식을 사용해야 합니다. 그러면 1초 단위로도 정확한 시간을 측정할 수 있습니다.
|