clock 函式呼叫模版

2021-08-09 22:41:31 字數 1148 閱讀 1240

課程主要講了對多項式的優化,

給定乙個多項式p=a0+a1*x+a2*x^2+...+an*x^n;

正常解法:**如下

double f1(int n,double a,double x)

return p;

}從第一項開始一直到第n項;

優化後的解法:**如下

double f2(int n,double a,double x)

return p;

}每項提取乙個x

a0+x*(a1+x*(a2+...+x*(an-1+x*an)))

經過對演算法的優化後時間發生了指數級的減小;

源**:

#include

#include

#include

clock_t start,stop;

double duration;

#define maxn 10

#define maxk 1e7

double f1(int n,double a,double x)

return p;

}double f2(int n,double a,double x)

return p;

}int main()

//printf("%f ",k);

stop=clock();

duration=((double)((stop-start))/clk_tck)/maxk;

printf("ticks1=%f   ",(double)(stop-start));

printf("duration=%6.2e\n",duration);

//函式2 

start=clock();

for(i=0;i

//printf("%f ",k);

stop=clock();

duration=((double)((stop-start))/clk_tck)/maxk;

printf("ticks2=%f   ",(double)(stop-start));

printf("duration=%6.2e\n",duration);

}這裡由於乙個函式跑起來非常快,所以讓函式進行迴圈,得出結果。

得出結論:解決問題方法的效率,跟演算法的巧妙程度有關。

關於clock 函式計時

clock tick 時鐘計時單元 而不把它叫做時鐘滴答次數 乙個時鐘計時單元的時間長短是由cpu控制的,乙個clock tick不是cpu的乙個時鐘週期,而是c c 的乙個基本計時單位。clock函式 clock t clock 這個函式返回從 開啟這個程式程序 到 程式中呼叫clock 函式 時...

C語言函式clock()

c語言函式clock 功 能 返回處理器呼叫某個程序或函式所花費的時間。用 法 clock t clock void 說明 clock t其實就是long,即長整形。該函式返回值是硬體滴答數,要換算成秒或者毫秒,需要除以 clk tck 或者 clk tck clocks per sec。比如,在v...

關於clock 函式計時

clock tick 時鐘計時單元 而不把它叫做時鐘滴答次數 乙個時鐘計時單元的時間長短是由cpu控制的,乙個clock tick不是cpu的乙個時鐘週期,而是c c 的乙個基本計時單位。clock函式 clock t clock 這個函式返回從 開啟這個程式程序 到 程式中呼叫clock 函式 時...