欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构课程设计一元稀疏多项式计算器.docx

    • 资源ID:7599624       资源大小:166.17KB        全文页数:12页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课程设计一元稀疏多项式计算器.docx

    1、数据结构课程设计一元稀疏多项式计算器软 件 学 院课程设计报告书课程名称 数据结构课程设计 设计题目 一元稀疏多项式计算器 专业班级 学 号 姓 名 指导教师 2010 年 12 月1 设计时间2010年12月27日2 设计目的实现一元多项式的相加,相减,输出结果。3设计任务设计一个一元稀疏多项式简单计算器。4 设计内容 4.1需求分析 1、程序所能达到的功能;(1)输入并建立多项式creatpolyn();(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数升序排列 printpolyn();(3)

    2、多项式a和b相加,建立多项式a+b,输出相加的多项式addpolyn();(4)多项式a和b相减,建立多项式a-b,输出相减的多项式subpolyn()。2、输入的形式和输入值的范围;输入形式:多项式输入值范围:实数3、输出的形式:输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数升序排列 printpolyn()4、测试数据:输入:a=2X+3X2; b=2X3+7X4输出:a+b=2X+3X2+ 2X3+7X4a-b=2X+3X2-2X3-7X44.2总体设计内容包括:1、说明本程序中用到的所有抽象数

    3、据类型的定义; typedef struct Polynomial float coef; int expn; struct Polynomial *next; *Polyn,Polynomial;void Insert(Polyn p,Polyn h)Polyn CreatePolyn(Polyn head,int m)void PrintPolyn(Polyn P)Int compare(Polyn a,Polyn b)Polyn AddPolyn(Polyn pa,Polyn pb)Polyn AddPolyn(Polyn pa,Polyn pb)Polyn Derivative(Pol

    4、yn head)2、主程序的流程;3、说明各程序模块之间的层次(调用)关系。4.3详细设计内容包括:函数CreatePolyn建立一个头指针为head、项数为m的一元多项式,然后调运函数Insert向生成链表中保存多项式项数及每项的指数、系数。函数CreatePolyn生成多项式a和多项式b。通过函数compare和函数PrintPolyn对多项式a和多项式b指数、系数进行分析。当多项式a指数指数大于多项式b指数时,链表保存多项式a系数;当多项式b指数指数大于多项式a指数时,链表保存多项式b系数;当多项式b指数指数等于多项式a指数时,对多项式a和多项式b系数进行加减运算,之后将系数保存在链表中

    5、。函数Polyn AddPolyn对多项式a和多项式b进行加运算,调运函数compare、函数PrintPolyn、函数CreatePolyn。函数SubtractPolyn对多项式a和多项式b进行减运算,其对多项式b中各系数正负取反,然后调用函数Polyn AddPolyn进行a+(-b)。主函数运行分别输入多项式和多项式的项数、系数和指数,然后选择对多项式操作A:a+b或 B:a-b,从而实现对多项式的加减运算。,3、函数的调用关系图。4.4测试与分析4.4.1测试:输入:a=2X+3X2; b=2X3+7X4输出:a+b=2X+3X2+ 2X3+7X4a-b=2X+3X2-2X3-7X4

    6、4.4.2分析:1、调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;认真观察自己的算法,看错误来自哪里,找出错误,并加以修改。2、算法的时间复杂度和空间复杂度的分析,改进设想。Insert的时间复杂度O(1)空间复杂度O(1); Derivativ的时间复杂度O(1)空间复杂度O(1);CreatePolyn的时间复杂度O(n)空间复杂度O(1);compare的时间复杂度O(1)空间复杂度O(1);PrintPolyn的时间复杂度O(1)空间复杂度O(1);AddPolyn 的时间复杂度O(n)空间复杂度O(1);SubtractPolyn的时间复杂度O(n)空间复杂度O(

    7、1);Main()的时间复杂度O(n)空间复杂度O(1)。4.5 附录定义多项式的项typedef struct Polynomial float coef; int expn; struct Polynomial *next; *Polyn,Polynomial;void Insert(Polyn p,Polyn h)向链表中插入多项式的项数、系数、指数。Polyn CreatePolyn(Polyn head,int m)建立一个头指针为head、项数为m的一元多项式。调运函数Insert生成多项式a和多项式b。void PrintPolyn(Polyn P)当多项式指数为“1”时,对多项

    8、式a和多项式b系数进行加减。Polyn AddPolyn(Polyn pa,Polyn pb)求解并建立多项式a+b,返回其头指针。调运函数compare对多项式a和多项式b进行降幂输出。Polyn SubtractPolyn(Polyn pa,Polyn pb)求解并建立多项式a-b,返回其头指针。对多项式b中各项系数正负取反,然后调运函数Polyn AddPolyn,对多项式a和多项式b进行a+(-b)降幂输出。Polyn Derivative(Polyn head)求解并建立导函数多项式,并返回其头指针。void main()/主函数 int m,n,a,x; char flag; Po

    9、lyn pa=0,pb=0,pc; printf( 欢迎使用多项式操作程序nn); printf(请输入a的项数:); scanf(%d,&m); pa=CreatePolyn(pa,m);/建立多项式a printf(请输入b的项数:); scanf(%d,&n); pb=CreatePolyn(pb,n);/建立多项式b /输出菜单printf( *n);printf( * 多项式操作程序 *n);printf( * A:输出a+b B:输出a-b *n);printf( * *n);printf( *n);while(a) printf(n请选择操作:); scanf( %c,&flag

    10、);/空格符号一定要注意 switch(flag) caseA: casea:XX文库 - 让每个人平等地提升自我 XX文库 - 让每个人平等地提升自我 pc=AddPolyn(pa,pb); printf(n a+b=); PrintPolyn(pc); break; caseB: caseb: pc=SubtractPolyn(pa,pb); printf(n a-b=); PrintPolyn(pc); break; default:printf(n 您的选择错误,请重新选择!n); 5 总结与展望在编程过程中很容易发现程序中的错误,要尽快找出这些错误,使程序能正确运行。平时缺乏锻炼即使

    11、在明确的出错提示下也往往找不出错误,不知道该怎么办,而求救于别人。但更重要的是通过自己的直接实践来累积。因此,在实验时千万不要在程序通过后就认为万事大吉、完成任务了,而应当在已通过的程序基础上作一些改动,再进行编译、连接和运行。我觉得我们对于数据结构的学习不仅包括理论部分的学习,还要让我们勤动手,多实践。刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去写程序。老师会给我们需要编程的内容一些讲解,顺着老师的思路,来完成自己的设计,我们可以开始运行自己的程序,可是好多处的错误,还看不出到底是

    12、哪里出现了错误,但是程序还是得继续下去,我多次和同学讨论研究,逐渐能自己找出错误,并加以改正。此次的程序设计能够成功,是我和我的同学共同努力作用的结果。在这一段努力学习的过程中,收获还真是不少,虽然说以前非常不懂这门语言,在它上面花费了好多心血,觉得它很难,是需用花费了大量的时间编写出来的。现在真正的明白了一些代码的应用,每个程序都有一些共同点,通用的结构,相似的格式。只要努力去学习,就会灵活的去应用它。参考文献1严蔚敏,吴伟民 数据结构(c语言版)清华大学出版社;2谭浩强 c程序设计(第三版)清华大学出版社;3徐孝凯 数据结构 电子工业出版社;4徐翠霞,崔玲玲,邵回祖 数据结构案例教程 北京大学出版社; 成绩评定成绩 教师签字


    注意事项

    本文(数据结构课程设计一元稀疏多项式计算器.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开