一元多項式 p(
x)=p
0+p1
x+p2
x2+…
+pnx
n 由n+1個係數唯一確定。則在計算機中可用線性表(p0
,p1,
p2,.
..,p
n )表示。既然是線性表,就可以用順序表和煉表來實現。兩種不同實現方式的元素型別定義如下:
typedef sturct
elemtype;
typedef sturct ploy
ploy;
不失一般性,設有兩個一元多項式:p(
x)=p
0+p1
x+p2
x2+…
+pnx
n q
(x)=
q0+q
1x+q
2x2+
…+qm
xm(m
r(x)=p
(x)+
q(x)
r(x)由線性表 r(
(p0+
q0),
(p1+
q1),
(p2+
q2),
…,(p
m+qm
),…,
pn)
唯一表示。
當採用鏈式儲存表示時,根據結點型別定義,凡是係數為0的項不在鍊錶中出現,從而可以大大減少鍊錶的長度。
一元多項式相加的實質是:
- 指數不同: 是鍊錶的合併。
- 指數相同: 係數相加,和為0,去掉結點,和不為0,修改結點的係數域。
就在原來兩個多項式鍊錶的基礎上進行相加,相加後原來兩個多項式鍊錶就不在存在。當然再要對原來兩個多項式進行其它操作就不允許了。
對兩個多項式鍊錶進行相加,生成乙個新的相加後的結果多項式鍊錶,原來兩個多項式鍊錶依然存在,不發生任何改變,如果要再對原來兩個多項式進行其它操作也不影響。
一元多項式的表示和相加
一元多項式的表示和相加是資料結構 c語言 中的乙個簡單的問題,這裡我們用c 的一些東西來實現它。簡潔版 首先是表示多項式,多項式有一些列的單項組成,每一項都有係數和指數兩個量,考慮到多項式的長度和指數的不確定性,顯而易見,應該使用鍊錶來儲存它。由上面的敘述很容易得到單項的結構 struct poly...
一元多項式的表示及相加
符號多項式的操作,已經成為表處理的典型用例。我們對多項式採用順序儲存結構,可以只儲存每項係數,指數隱含在係數的序號裡。在這種情況下,如果多項式的次數很高且變化很大,那麼便很難來確定順序儲存的最大長度,另外對記憶體空間也極為浪費。一般情況下,對於那些多項式的次數很高,但項數不多的多項式我們可以將一元n...
一元多項式的表示及相加
題目 若a a0x0 a1x1 a2x2 a3x3 anxn b b0x0 b1x1 b2x2 b3x3 bnxn 求a b 順序儲存結構的實現 實現乙個陣列每兩個元素為乙個單位,左邊指數,右邊是係數。從係數為0,一直寫到最大的那個係數。利用鍊錶的思維 上大,上移 上小,下插入上。上移名 上下相等,...