5.6m元多项式的表示
生活随笔
收集整理的這篇文章主要介紹了
5.6m元多项式的表示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在一般情況下使用廣義表多數既非是遞歸表,也不為其他表所共享。對廣義表可以這樣理解,廣義表中的一個數據元素可以是另一個廣義表,一個m元多項式的表示就是廣義表的這種應用的典型實例。
由于m元多項式中每一項得病變化數目的不均勻性和變元信息的重要性,故不適合用線性表。如下面這個三元多項式
這個三元多項式可以有下面的化簡
所以,任何一個m元多項式都可如此做:先分解出一個主變元,隨后再分解出第二個變元等等。
什么那個式子可化為:
P=z((A,2),(B,1),(15,0))
其中
A=y((C,3),(D,2))
? ? ?C=x((1,10),(2,6))
? ? ?D=x((3,5))
B=y((E,4),(F,1))
? ? ?E=x((E,4),(F,1))
? ? ?F=x((2,0))
鏈表結構為:
這里的exp為指數域,coef為系數域,hp指向其系數子表,tp指向同一層的下一個結點
代碼如下:
typedef struct MPNode{ELemTag tag; //區分原子結點和表結點int exp; //指數域union{float coef;//系數域struct MPNode *hp; //表結點的表頭指針};struct MPNode *tp; //相當于線性鏈表的next,指向下一個元素結點 }*MPList; //m元多項式廣義表類型 上面的多元式可有下面的存儲結構示意圖:
分析如下:
在每一層上增設一個表頭結點并利用exp指示該層的變元,可用一位數組存儲多項式中的所有變元,故exp域存儲的是該變元在一位數組中的下標。
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!
總結
以上是生活随笔為你收集整理的5.6m元多项式的表示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java高级语法笔记-自定义异常类
- 下一篇: 6.1树的定义和存储