线性表及其实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性表及其实现相关的知识,希望对你有一定的参考价值。

线性表及其实现(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

 


以上是关于线性表及其实现的主要内容,如果未能解决你的问题,请参考以下文章

数据结构:线性表的及其实现

线性表及其实现

[从今天开始修炼数据结构]线性表及其实现以及实现有Itertor的ArrayList和LinkedList

MOOC 2.1 线性表及其实现

Java数据结构(线性表)--线性表的链式存储(单链表)及其实现

实验:线性表及其应用