- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构讲解讲义课件
2.4 一元多项式的表示及相加 采用链表表示多项式时,每个结点的数据域有两项:系数项,指数项。 则结点定义如下: struct poly{ int coef;系数项 int exp;指数项 struct poly *next; }; 2.4 一元多项式的表示及相加 假设多项式 A17(x)=8+3x+9x10+5x17 与 B10(x)=8x+14x7-9x10 则 C17(x)=A(x)+B(x)=8+11x+14x7+5x17 用单链表表示如下,其头指针分别为Ah、Bh (假设链表是按指数递增的有序链表) 8 0 3 1 9 10 5 17∧ Ah 8 1 14 7 -9 10 ∧ Bh 多项式的单链表存储结构 2.4 一元多项式的表示及相加 其运算规则如下: 假设指针qa和qb分别指向多项式A17(x)和多项式B10(x)中当前进行比较的某个结点,则比较两个结点的数据域的指数项,有三种情况: (1)指针qa所指结点的指数值<指针qb所指结点的指数值时,则将qa指针所指向的结点插入到“和链表”的后面,qa指针后移; (2)指针qa所指结点的指数值>指针qb所指结点的指数值时,则将qb指针所指向的结点插入到“和链表”的后面,qb指针后移; (3)指针qa所指结点的指数值=指针qb所指结点的指数值时,将两个结点中的系数相加,若和不为零,则修改qa所指结点的系数值, 同时释放qb所指结点, qa和qb指针均后移 ;反之,从多项式A17(x)的链表中删除相应结点,并释放指针qa和qb所指结点, qa和qb指针均后移。 2.4 一元多项式的表示及相加 多项式相加的算法实现 struct poly * add_poly(struct poly *Ah, struct poly *Bh) {struct poly *qa, *qb, *s, *r, *Ch; qa=Ah-next; qb=Bh-next; /*qa和qb分别指向两个链表的第一结点*/ Ch=Ah; /*将链表Ah作为相加后的和链表*/ r=Ah; /*r指针始终指向”和链表”的最后一个结点*/ while(qa!=NULLqb!=NULL) /*两链表均非空*/ { if(qa-expqb-exp) /*多项式Ah的指数值小*/ { r-next=qa; r=qa; qa=qa-next;} else if(qa-expqb-exp) /*多项式Bh的指数值小*/ {r-next=qb; r=qb; qb=qb-next;} 2.4 一元多项式的表示及相加 else /* qa-exp==qb-exp 两者指数值相等*/ {x=qa-coef+qb-coef; if(x!=0) { qa-coef=x; r=qa; qa=qa-next; s=qb;qb=qb-next; free(s); } /*相加后系数不为零时*/ else { s=qa; qa=qa-next; free(s); s=qb; qb=qb-next; free(s); } /*相加后系数为零时*/ } } if(qa==NULL) r-next=qb; else r-next=qa; /*链接多项式Ah或Bh中的剩余结点*/ free(Bh); return (Ch); } 本章小结 本章主要介绍了如下内容: 线性表:是n≥0个类型相同的数据元素a1,a2,…,an的有限序列。 线性表的顺序存储结构和运算:在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。 线性表的链式存储结构和运算:就是用一组任意的存储单元(可以是不连续的)存储线性表的数据元素。表中每一个数据元素,都由存放数据元素值的数据域和存放直接前驱或直接后继结点的地址(指针)的指针域组成。 循环链表:即将单链表的最后一个
您可能关注的文档
- 排尿性晕厥2016PPT课件.ppt
- 排尿异常的观察与护理PPT课件.ppt
- 掌握人体生长发育的一般规律和特点课件.ppt
- 掌控中考2017年中考化学(四川地区)总复习教学讲解课件第8单元_金属和金属材料(图片版) (共108张PPT).ppt
- 掌控中考2017年中考物理(四川专版)总复习讲解课件第8章_运动和力(图片版) (共60张PPT).ppt
- 掌握氧气吸入疗法_ppt课件.ppt
- 排尿护理_1课件.ppt
- 排尿护理_2课件.ppt
- 排尿的评估及异常护理PPT课件.ppt
- 探究人呼出的气体和吸入的空气有什么不同ppt课件.ppt
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)