网站大量收购闲置独家精品文档,联系QQ:2885784924

多项式乘法元组实现——原创.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多项式乘法元组实现——原创

大连理工大学 本科实验报告 课程名称: 数据结构 学院(系): 创新实验学院 专 业:电气信息类创新实验班 班 级: 创电1301 学 号: 201302030 学生姓名: 蔡田 年 月 日 实验项目列表 序号 实验项目名称 学时 评 分 组 成 合计 预习 操作 结果 1 Polynomial multiplication 4 2 Multiplication of sparse matrices 4 3 Merge sort 4 5 6 7 8 9 10 11 12 13 14 总计 12 学时 总分 分 大连理工大学实验报告 学院(系): 专业: 班级: 姓 名: 学号: 组: ___ 实验时间: 实验室: 实验台: 实验名称 实验目的和要求 ?多项式乘法用数组的形式实现 ?分析算法 实验原理和内容 定义一个结构体数组,用于存储每一项的coefficient,exponent,这种方法占用的内存相对较少,也易于实现。 结构体如下: typedef struct { float coef; int expon; }polynomial; 主要仪器设备 Visual studio编程环境 实验步骤与操作方法 实现多项式的乘法需要完成两部分内容 ①得到相乘后的多项式的coefficient,exponent ②将这些coefficient,exponent按照指数减小的顺序存储 函数说明:mult函数通过两个for循环实现了将a,b多项式系数相乘,指数相加的操作并且将得到的系数和指数传递给move()函数,如果此指数出现过了,move将把该项对应的系数与传递过来的系数相加,将该项存在数组的后面,如果没出现过,则要将该项插入到合适的位置,即小于前一项,大于后一项的位置,并计算数组的长度,传递给insert函数。该操作调用了insert函数,将目前的数组长度、待插入项的内容和该插入的项数传递进来。i+1项等于第i项的值,第m项等于该项的值。主函数则是完成多项式的输入操作。 输入多项式a[],b[] For i=0 to anum For j=0 to bnum Expon=a[i].expon+b[j].expon Coef=a[i].coef*b[j].coef Y 判断expon是否出现过 N insert(j,i,c,expon,coef); c[i].coef+=coef; 实验数据记录和处理 上图为输入a=3x^2+2x+1 b=4x^3+x^2+3 结果c=12x^5+11x^4+6x^3+10x^2+6x+3 实验结果与分析 运行的结果与预期值相符 程序时间复杂度的分析: 主函数输入两个多项式需要O(anum*bnum) 调用mult函数需要进行anum*bnum次计算,然后调用move、insert函数 考虑到最差的情况,a,b均以指数增加的方式输入,则move,insert需要O(anum*bnum) 综上,算法的时间复杂度为O(anum*bnum*anum*bnum); 讨论、建议、质疑 在程序debug期间我遇到了两个问题 1、错误提醒:incompatible type。随后检查是Void mult(int anum,int bnum,polynomial c[MAX_TERM],polynomial a[anum],polynomial b[bnum]) 数组传递的方式不正确,应该传入的是结构体数组的首地址,而我将数组 这样传递显然是越界了。 修改后:void mult(int anum,int bnum,polynomial c[],polynomial a[],polynomial b[]) 全局变量问题:起初我的c数组在主函数定义,而每次我调用都需要改变该数组某

您可能关注的文档

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档