多項式計算の効率テスト

WBOY
リリース: 2016-07-30 13:32:01
オリジナル
986 人が閲覧しました

多項式計算はライブラリ関数 pow メソッドと Qin Jiugao アルゴリズムを呼び出し、その演算効率を測定してみましょう

計算関数 f(x)=1+(Σxi/i)(i は 1 から m までとります);

ctime time 関数を使用して実行時間をテストし、x=0.9 として

#include
#include;
#include
を名前空間 std; を使用して計算します
double Fn1(double x) ;
double Fn2(double x);
#define m 1000000000
Clock_t start, stop;
int main(){
double x;
x = 0.9;
start = Clock();
cout << x) << endl;
stop = Clock();
cout << double(stop - start) / CLK_TCK << endl;
//---------- - ----------
start = クロック();
cout < stop = クロック( ) ;
cout << double(stop - start) / CLK_TCK << endl;
return 0;
}
double Fn1(double x){
int i;
double f=1.0;
for (i = 1; i f += pow(x, i)/i;
return f;
}
double Fn2(double x){
int i;
double f = 0.0;
( i = m; i >= 1; i--) /*秦九超多項式アルゴリズム*/
f = f*x + 1.0 / i;
return f*x + 1.0;
}

下の表を参照実行時間

m 100 1000 10000 100000 1000000 10000000 1000000 1000000000
Fn1 0.001 0.001 0.003 0.015 0.157 1.619 17.955 191.608
Fn2 0 0 0 0.001 0.005 0.0 49 0.472 4.706

できる実行時間の結果からわかるように、Qin Jiushao アルゴリズムは pow 呼び出しメソッドよりもはるかに効率的です

以上、多項式計算の効率テストをその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート