2017-09-12 7 views
-4

cには、入力を与えた後にプログラムが取った時間を分析して、異なる入力を与えることによってプログラムの時間複雑さを見つけることのできるコードがあります。 しかし、1ミリ秒の誤差は許容できません。正確な時間が必要です。cプログラムの時間複雑度

+1

「[Cで時間を測定するにはどうすればよいですか?]」(https://stackoverflow.com/questions/3557221/how-do-i-measure-time-in-c) –

+0

どのように提案しますか?経過時間を使用してアルゴリズムの複雑さを判断しますか? –

+0

正確な時刻とは何ですか? –

答えて

2

あなたがプログラム全体をタイミングしている場合、あなたもいずれかの操作を実行する必要はありません。ただ、次の例

clock_t start = clock(); 
// your job 
clock_t end = clock(); 
float seconds = (float)(end - start)/CLOCKS_PER_SEC; 
+0

はい、1ミリ秒のエラーは許容できません。 –

+0

しかし、私に正確な時間を与えていない。正確ではない。 –

+0

あなたは決して正確な実行時間を持つことはできません、それは常にCPUの周波数に依存します –

2

としてそれを使用TIME.H

に時間を計算する機能があります余分なコーディング

のような出力を与えるだろう timeコマンド

> time ./a.out 

があるとして

real 0m5.002s 
user 0m0.001s 
sys  0m0.001s