数据结构教程简答易懂第三章.pptVIP

  • 0
  • 0
  • 约1.34千字
  • 约 23页
  • 2018-05-29 发布于贵州
  • 举报
数据结构教程简答易懂第三章

南京信息职业技术学院 计算机基础教研室 南京信息职业技术学院 计算机基础教研室 第三章 3.3 循环链表 3.4 多项式的表示与运算 假设只研究非零系数项的多项式为 其中,ak≠0(k=1,2,…,m),emem-1…e1=0 例:多项式数组表示 设多项式为: 表示: 例:多项式链表表示 设多项式为: 线性单链表表示: 循环链表表示? 请同学们自己画。 多项式的运算主要有以下5种: 多项式链表的生成 多项式链表的释放 多项式的输出 多项式的相加 多项式的相乘 多项式循环链表类 class Poly { private: node *head; //循环链表头指针 public: Poly(); void in1_Poly(); //键盘输入多项式链表 void in2_Poly(int, int [], double []); //由数组复制多项式链表 void del_Poly(); //释放多项式链表 void prt_Poly(); //输出多项式链表 Poly operator +(Poly ); //多项式相加 Poly operator *(Poly ); //多项式相乘 }; 从键盘输入多项式链表 由数组复制多项式链表 多项式链表的释放 多项式相加 例:设两个多项式为 求此两式之和 C(x) = A(x) + B(x)。 C(x) 称为 “ 和多项式 ” 。 得到结果: 多项式相加算法 将两式中所有指数相同项的系数相加, 若和不为零 则构成“和一元多项式”中新的一项; 若和为零 则“和一元多项式”中无此项; 所有指数不相同的项均拷贝到“和一元多项式”中。 练习:设两个一元多项式为 求此两式之和 C(x) 多项式相乘 例:设两个多项式为 求此两式之积 C(x) = A(x) * B(x)。 C(x) 称为 “ 乘积多项式 ” 。 多项式循环链表类 class Poly { private: node *head; //循环链表头指针 public: Poly(); void in1_Poly(); //键盘输入多项式链表 void in2_Poly(int, int [], double []); //由数组复制多项式链表 void del_Poly(); //释放多项式链表 void prt_Poly(); //输出多项式链表 Poly operator +(Poly ); //多项式相加 Poly operator *(Poly ); //多项式相乘 }; P86 多项式链表的运算 小结 作业:预习实验四 链栈与链队列的实现 结点 指数域 系数域 指针域 struct node { int exp; //指数为整型 double coef; //系数为双精度型 node *next; //指针域 }; 多项式链表中的每一个非零项结点用C++描述如下:

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档