Loading

线性表及其实现(1)

线性表及其实现(1)

  多项式的表示:

  【例】一元多项式及其运算

  一元多项式:

  主要运算:多项式相加、相减、相乘等

  【分析】如何表示多项式?

   多项式项数n

   各项系数ai 及指数 i

方法一:顺序存储结构直接表示

  数组各分量对应多项式各项:

  a[i]: 项xi的系数ai

 

两个多项式相加:两个数组对应的分量相加

弊端:当表示x+2x2000 时将会浪费大量的存储空间,且效率低下。

方法二:顺序存储结构表示非零项

  每个非零项 aix涉及两个信息:系数 a和指数 

  可以将一个多项式看成是一个(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             int coef;
4             int expon;
5             Polynomial link;
6 }
7                     

 

 

未完待续~~~...

下一节:什么是线性表?

                                                                                   -----yuhaow

 

posted @ 2017-09-04 23:54  _yhwu  阅读(312)  评论(0)    收藏  举报