一般地,一元n次多項式的求值需要經過(n+1)*n/2次乘法和n次加法
double f1 (
int n,
double a,
double x)
時間複雜度為o(n
2n^2
n2)秦九韶演算法是中國南宋時期的數學家秦九韶提出的一種多項式簡化演算法。秦九韶演算法計算多項式時只需要n次乘法和n次加法。
即每次將x提出,先計算最裡面的再逐層計算。
double f2 (
int n,
double a,
double x)
時間複雜度為o(nnn)
#include
#include
#include
#define maxn 10000
clock_t start,stop;
double duration;
double f1 (
int n,
double a,
double x)
double f2 (
int n,
double a,
double x)
intmain()
多項式時間演算法
定義 若存在乙個常數c,使得對於所有n 0,都有 f n c g n 則稱函式f n 是o g n 時間複雜度是o p n 的演算法稱為多項式時間演算法,這裡p n 是關於n的多項式。不能夠這樣限制時間複雜度的演算法被稱為指數時間演算法。例如 時間複雜度為o nlog n o n 3 的演算法都是多...
多項式時間演算法
時間複雜度並不是表示乙個程式解決問題需要花多少時間,而是當問題規模擴大後,程式需要的時間隨規模增長得有多快。也就是說,對於高速處理資料的計算機來說,處理某乙個特定資料的效率不能衡量乙個程式的好壞。當這個資料的規模變大到數百倍後,程式執行時間是否相差不大,或者也跟著慢了數百倍,或者變慢了數萬倍。1 不...
MATLAB多項式及多項式擬合
多項式均表示為陣列形式,陣列元素為多項式降冪係數 1.polyval函式 求多項式在某一點或某幾個點的值.p 1,1,1 x 2 x 1 x 1,0,1 y polyval p,x 另外求函式在某一點或某幾個點的值可以用函式feval.x 1,0,1 y feval x exp x x 注意用的乘法...