1、 数据结构与算法分析课程设计数据结构与算法分析课程设计报告报告 设计题目:设计题目:一一元多项式的代数运算元多项式的代数运算 一、课程设计的目的一、课程设计的目的 1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方 法和技能; 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所 应具备的科学的工作方法和作风。 二、分析与设计二、分析与设计 1程序的基本功能 (1)建立多项式 (3)删除多项式以释放空间 (4)删除多项式中的某
2、一项 (5)将多项式合并同类项 (6)拷贝多项式 (7)将多项式按指数降序排列 (8)判断两多项式是否相等 (9)两个多项式相加,建立并输出和多项式 (10)两个多项式相减,建立并输出差多项式 (11)两个多项式相乘,建立并输出积多项式 2系统总框图 3.3.函数定义函数定义 定义多项式的结构: typedef struct Polynomial /结点类型 float coef; /系数 用户菜单 结构体结点 各函数 退出 多项式链表类模板 主函数 int exp; /指数 Polynomial *next; *Polyn; /Polyn 为结点指针类型 设计函数: void PrintPo
3、lyn(Polyn P); /输出多项式 void Insert(Polyn p,Polyn head); /插入结点 Polyn CreatePolyn(Polyn head,int m) ; /创建多项式 void DestroyPolyn(Polyn p); /销毁多项式 int compare(Polyn a,Polyn b); /多项式指数比较 Polyn AddPolyn(Polyn pa,Polyn pb); /加法 Polyn SubPolyn(Polyn pa,Polyn pb); /减法 Polyn MultiplyPolyn(Polyn pa,Polyn pb); /乘法
4、 三、三、调试分析:调试分析: 1.测试测试 测试数据:测试数据: A= B= 测试输出的结果: A-B= A*B= 预期结果与测试结果相同,相除算法正确! 2 调试时存在问题 Default 出现在 if 语句混用 表达式语法错误 非法的结构体操作 Switch 语句中缺少 break 语句 函数必需返回一个值 缺少返回值 3.算法改进设想 自己的课程设计还不够完善,有些功能未设计到,有很多需要改进的地 方,现列举以下几个改进设想: 设想一:希望可以对某一个多项式进行插入一项或插入另一个多项式。 设想五:希望自己做的系统界面更加美观、实用,令读者运行快乐。 四、四、课程设计总结:课程设计总结: 虽然数据结构是一门公认的比较难的课程,自己学起来也觉得有些吃力,但 在本次课程设计之前,我系统地