一元多项式的表达PPT优秀课件

上传人:壹****1 文档编号:589602268 上传时间:2024-09-11 格式:PPT 页数:19 大小:689KB
返回 下载 相关 举报
一元多项式的表达PPT优秀课件_第1页
第1页 / 共19页
一元多项式的表达PPT优秀课件_第2页
第2页 / 共19页
一元多项式的表达PPT优秀课件_第3页
第3页 / 共19页
一元多项式的表达PPT优秀课件_第4页
第4页 / 共19页
一元多项式的表达PPT优秀课件_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《一元多项式的表达PPT优秀课件》由会员分享,可在线阅读,更多相关《一元多项式的表达PPT优秀课件(19页珍藏版)》请在金锄头文库上搜索。

1、一元多项式的表达与简单运算学生:刘霖 袁蕊 李兴容2021/5/2511.1设计内容:2021/5/2522021/5/2532021/5/2541.2 数据结构设计数据结构设计1.2.1 一元多项式的表示及相加那么用顺序储存结构表示+=2021/5/255但对于形如的多项式,上述表示方法是否合适? 然而,在通常的应用中,多项式的次数可能很高变化很大,使得顺序储存结构的最大长度很难确定。 例如上题要用20001的线性表来表示,而表中只有三个非零元素,这种对内存空间很浪费。 这时,我们可以采用单链表来实现。在单链表中的每个这时,我们可以采用单链表来实现。在单链表中的每个结点有两个数据项(系数项结

2、点有两个数据项(系数项 和和 指数项)。指数项)。2021/5/256那么2021/5/2571.2 .2 数据结构设计2021/5/2581.2.3 一元多项式的加法运算一元多项式的加法运算 算法算法:pnode * add(pnode *heada,pnode *headb)pnode *headc,*p,*q,*s,*r;float x; p=heada; q=headb; headc=(pnode *)malloc(sizeof(pnode); r=headc; while(p!=NULL&q!=NULL) if(p-exp=q-exp) x=p-coef+q-coef; if(x!=

3、0) s=(pnode *)malloc(sizeof(pnode); s-coef=x; 2021/5/259 s-coef=x; s-exp=p-exp; r-next=s; r=s; q=q-next;p=p-next; else if(p-expexp)s=(pnode *)malloc(sizeof(pnode);s-coef=q-coef; s-exp=q-exp; r-next=s; r=s; q=q-next; else s=(pnode *)malloc(sizeof(pnode); s-coef=p-coef; s-exp=p-exp; r-next=s; r=s;p=p-

4、next; while(p!=NULL) s=(pnode *)malloc(sizeof(pnode); s-coef=p-coef;s-exp=p-exp; r-next=s; r=s; p=p-next; while(q!=NULL) s=(pnode *)malloc(sizeof(pnode); s-coef=q-coef; s-exp=q-exp; r-next=s; r=s; p=p-next; r-next=NULL;headc=headc-next; return headc; 2021/5/25101.2.4一元多项式的减法运算一元多项式的减法运算 算法:算法:Polyn

5、AddPolyn(Polyn pa,Polyn pb)/求解并建立多项式a+b,返回其头指针 Polyn qa=pa-next; Polyn qb=pb-next; Polyn headc,hc,qc; hc=(Polyn)malloc(sizeof(struct Polynomial);/建立头结点 hc-next=NULL; headc=hc; while(qa|qb) qc=(Polyn)malloc(sizeof(struct Polynomial); switch(compare(qa,qb) case 1: qc-coef=qa-coef; qc-expn=qa-expn; qa=

6、qa-next; break; case 0: qc-coef=qa-coef+qb-coef;2021/5/2511qc-expn=qa-expn; qa=qa-next; qb=qb-next; break; case -1: qc-coef=qb-coef; qc-expn=qb-expn; qb=qb-next; break; /switch if(qc-coef!=0) qc-next=hc-next; hc-next=qc; hc=qc; else free(qc);/当相加系数为0时,释放该结点 /while return headc;/AddPolynint compare(P

7、olyn a,Polyn b) if(a&b) if(!b|a-expnb-expn) return 1; else if(!a|a-expnexpn) return -1; else return 0; else if(!a&b) return -1;/a多项式已空,但b多项式非空 else return 1;/b多项式已空,但a多项式非空/compare2021/5/25121.2.5 一元多项式的乘法运算一元多项式的乘法运算2021/5/25131.3 基本操作函数说明2021/5/25141.4 源程序代码2021/5/25151.5 运行结果2021/5/25162021/5/2517谢谢2021/5/2518部分资料从网络收集整理而来,供大家参考,感谢您的关注!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号