線性表及其實現(1)
阿新 • • 發佈:2017-09-05
結構 span 1.5 logs cnblogs 一元多項式 lin wid -s
線性表及其實現(1)
多項式的表示:
【例】一元多項式及其運算
一元多項式:
主要運算:多項式相加、相減、相乘等。
【分析】如何表示多項式?
? 多項式項數n
? 各項系數ai 及指數 i
方法一:順序存儲結構直接表示
數組各分量對應多項式各項:
a[i]: 項xi的系數ai
兩個多項式相加:兩個數組對應的分量相加
弊端:當表示x+2x2000 時將會浪費大量的存儲空間,且效率低下。
方法二:順序存儲結構表示非零項
每個非零項 aixi 涉及兩個信息:系數 ai 和指數 i
可以將一個多項式看成是一個(ai,i) 二元組的集合。
用結構數組表示:數組分量是由系數ai 、指數i組成的結構,對應一個非零項
相加過程:從頭開始,比較兩個多項式當前對應項的指數
P1: (9,12),(15,8), (3,2)
P2: (26,19),(-4,8),(-13,6),(82,0)
P3: (26,19),(9,12),(11,8) ,(-13,6) ,(3,2), (82,0)
方法三:鏈表結構存儲非零項
鏈表中每個結點存儲多項式中的一個非零項,
包括系數和指數兩個數據域以及一個指針域。
1 typedef struct PolyNode *Polynomial; 2 typedef struct PolyNode { 3 intcoef; 4 int expon; 5 Polynomial link; 6 } 7
未完待續~~~...
下一節:什麽是線性表?
-----yuhaow
線性表及其實現(1)