数据结构程设计报告.docVIP

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

淮阴工学院 数据结构课程设计报告 : 一元稀疏多项式计算器 系(院): 计 算 机 工 程 系 专 业: 计算机科学与技术 班 级: 网络1xxx1 姓 名: xxx 学 号: 10xxx134 指导教师: xxxxxxx 学年学期: 2008 ~ 2009 学年 第 2 学期 摘要: 本文是关于任一元稀疏多项式的求解问题的描述,文中使用链式存储结构(带表头结点的单链表)存储一稀疏元多项式,实现了多项式的建立,多项式的输出,多项式a和b相加,多项式a和b相减等功能。鉴于C语言的优点,经过分析,将用C语言解决一元稀疏多项式的求解问题算法的描述。关键词:链表多项式数据结构3 详细设计和实现………………………………………………………5 3.1主函数………………………………………………………………5 3.2求导函数和求和函数…………………………………………………5 3.3其他函数……………………………………………………………10 4 调试和操作说明………………………………………………………12 5 总结……………………………………………………………………15 6 致谢……………………………………………………………………16 7 参考文献………………………………………………………………17 1需求分析 课程题目:一元稀疏多项式计算器设计一个一元多项式加法器 2概要分析 本程序有五个函数: PolyNode *Input()(输入函数); PolyNode *Deri(PolyNode *head)(求导函数); PolyNode * Plus(PolyNode *A,PolyNode *B)(求和函数); void Output(PolyNode*head)(输出函数); int main()(主函数) 本程序可使用带有附加头结点的单链表来实现多项式的链表表示,每个链表结点表示多项式的一项,命名为node,它包括两个数据成员:系数coef和指数exp,他们都是公共数据成员,*next为指针域,用链表来表示多项式。适用于不定的多项式,特别是对于项数再运算过程中动态增长的多项式,不存在存储溢出的问题。其次,对于某些零系数项,在执行加法运算后不再是零系数项,这就需要在结果多项式中增添新的项;对于某些非零系数项,在执行加法运算后可能是零系数项,这就需要在结果多项式中删去这些项,利用链表操作,可以简单的修改结点的指针以完成这种插入和删除运算(不像在顺序方式中那样,可能移动大量数据项)运行效率高。 3详细设计和实现 (1)首先介绍主函数: int main() { PolyNode *head_a,*head_b; int choice; head_a=new PolyNode;head_a-next=NULL; do { system(cls);//清屏函数 Output(head_a); cout ______________________________\n; cout|---------1.输入公式-----------|\n; cout|---------2.求 导-----------|\n; cout|---------3.两式求和-----------|\n; cout|---------4.退出程序-----------|\n; cout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n; cinchoice; if (choice==1) head_a=Input(); else if (choice==2) head_a=Deri(head_a); //求导 else if (choice==3) {head_b=Input();head_a=Plus(head_a,head_b);}//求和 else if (choice==4) break; else cout输入错误,重新输入:\n; } while(choice!=5); return 0; (2)由于此程序是二人合作完成,我在此程序中主要是完成求和和求导函数的 设计。所以下面着重介绍下求和函数和求导函数。 PolyNode *Deri(PolyNode *head)(求导函数): 流程图如下: 图3.1求导函数流程图 求导函数部分代码: PolyNode *Deri(PolyNode *head) //求导 { PolyNode *p=head; wh

文档评论(0)

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

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

1亿VIP精品文档

相关文档