資料結構與演算法 多項式ADT

2021-08-20 17:16:26 字數 1382 閱讀 7006

//陣列實現宣告

typedef

struct *polynomial;

//初始化為0

void zeropolynomial( polynomial poly)

//相加

void addpolynomial( const polynomial poly1, const polynomial poly2,

polynomial polysum)

}//相乘

void multpolynomial( const polynomial poly1, const polynomial poly2,

polynomial polyprod)

2 . 使用單鏈表表示,多項式的每一項包含於乙個單元中,同時,這些單元以次數遞減的順序排序.如下圖:

//鍊錶實現宣告

typedef struct node *ptrtonode;

struct node;

typedef ptrtonode polynomial;

void attach( int c, int e, polynomial *prear)

//相加

polynomial polyadd( polynomial p1, polynomial p2)

else

if( p1->expon < p2->expon)

else

if( p1->expon < p2->expon)

}for( ; p1; p1 = p1->next) attach( p1->coef, p1->expon, &rear);

for( ; p2; p2 = p2->next) attach( p2->coef, p2->expon, &rear);

rear->next =

null;

temp = front;

front = front->next;

free(temp);

return fornt;

}//相乘

polynomial polymult( polynomial p1, polynomial p2)

t1 = t1->next;

while( t1)

}else

t2 = t2->next;

}t1 = t1->next;

}t2 = p;

p = p->next;

free( t2);

return p;

}

資料結構與演算法 多項式

在 演算法設計技巧與分析 5.5節介紹了多項式求值的巢狀乘法,也稱作horner規則,即pn x anxn an 1xn 1 a1x a0 anx an 1 x an 2 x an 3 x a1 x a0。這個是很容易就實現的。這裡要求次數是連續的並且大於等於0。如果定義多項式的資料結構poly.h...

資料結構之多項式(C )

資料結構多項式,運用到類的複製建構函式,靜態成員等基礎知識,簡單實現了加法和乘法運算,但是對乘法 複雜度比較高 暫時做這樣處理。對於多項式的構成這些不做多餘介紹。本 純手工製作,難免有不足之處。標頭檔案 polynomial h ifndef polynomial h define polynomi...

資料結構實驗,多項式類

多項式類標頭檔案 2013.5.24 該檔案定義乙個polynomial 多項式 類 類中使用帶頭節點的鏈式佇列儲存多項式資訊 每個節點的c表示多項式每一項的係數 頭結點的c表示項數 e表示每一項的指數 輸入資料格式以下為例 3.1x8 11x9 2x 7 9x 9x 3x 6x 3 x 4.4x2...