- 19
- 0
- 约1.71万字
- 约 29页
- 2018-06-09 发布于浙江
- 举报
福建农林大学计算机与信息学院
(程序设计类课程)
实验报告
课程名称: 算法与数据结构 姓 名: 谢飞乐 系: 计算机 专 业: 计算机科学与技术 年 级: 2007 学 号: 071152032 指导教师: 宁正元 职 称: 教授
2009 年 6 月 1 日
实验项目列表
序号 实验项目名称 成绩 指导教师 1 线性表及其应用(多项式相加、相乘) 2 哈弗曼树及哈弗曼编码译码的实现 3 Dijkstra最短路径 或Prim最小生成树 4 (快速、堆、归并)排序算法的设计 5 构造平衡二叉排序树 6 7 8 9 10 11 12
福建农林大学计算机与信息学院实验报告
系: 计算机系 专业: 计算机科学与技术 年级: 2007
姓名: 谢飞乐 学号: 071152032 实验室号_ 田_513_ 计算机号 25
实验时间: 09.3.25下午10、11 节 指导教师签字: 宁正元 成绩:
实验一 线性表及其应用
实验目的和要求
1、掌握线性表的插入、删除、查找等基本操作设计与实现
2、学习利用线性表提供的接口去求解实际问题
3、熟悉线性表的的存储方法
实验内容和原理
1、实验内容:设计一个一元多项式的简单计算器,其基本功能有①输入并建立多项式;②输出多项式;③多项式相加。可利用单链表或单循环链表实现之。
2、实验原理:以线性表来描述一元多项式,存储结构采用单链表,每个结点存储的多项式中某一项的系数和指数,建立单链表时指数高的结点列于指数低的 结点之后,即线性表的元素按指数递增有序排列。
实验环境
Visual C++ 6.0 及PC机
算法描述及实验步骤
思想算法:
以线性表来描述一元多项式,存储结构采用单链表,每个结点存储的多项式中某一项的系数和指数,建立单链表时指数高的结点列于指数低的结点之后,即线性表的元素按指数递增有序排列。
例如构造两个多项式ha: 5X3+4X2+3X+2
hb: X2+X+1
多项式加法:定义指针p,q分别指向ha,hb
i.p-exp==q-exp ,r-coef=p-coef+q-coef,pa,pb下移;
ii.p-expq-exp ,r-coef=q-coef;r-exp=q-exp;,q下移
iii.pa-exppb-exp, r-exp=p-exp;r-coef=p-coef;,p下移
iv.p!=NULL,pb==NULL.相当于iii.
V.q==NULL,pb!=NULL.相当于ii.
其流程图如下:
多项式乘法:定义指针fp,gp分别指向f,g
1.将两多项式最大指数相加并赋于maxp,并置g
2.用for循环求指数等于maxp时相乘的系数
3. (fp!=NULL)(gp!=NULL), p=fp-exp+gp-exp
1.pmaxp, fp=fp-next;
2. pmaxp, gp=gp-next;
3.p=maxp, x+=fp-coef*gp-coef; fp=fp-next;gp=gp-next;
调试过程
将主函数中的多项式相乘的函数hd=polymult(ha,hb);/*ha和hb相乘*/的polymult(ha,hb)改为polymulti(ha,hb)即可。
实验结果
1.分别输入两个多项式: 5X3+4X2+3X+2 和X2+X+1,然后输出结果如下:
2.分别输入两个多项式:6X4+4X2+2和5X+6,然后输出结果如下:
总结
此次上机实验应用了线性表实现了一次实际操作,完成了一个一元多项式的简单计算器,不仅对此次编译程序的算法思想有了新的认识,还让我深刻的体会到了线性表的重要性以及其应用的方便,并且对指针加深了映象,应用了书本中的算法思想,对我以后的编译以及完成新的程序有很大的帮助。
附录:
1.建立多项式列表代码如下:
mulpoly *creatpoly()/*建立多项式列表*/
{mulpoly *head,*r,*s;/*设中间变量*/
int m,n;
head=(mulpoly *)malloc(sizeof(mulpoly));/*头结点申请空间*/
printf(\ninput coef and exp:\n);
scanf(%d%d,n,m);/*输入多项式系数和指数*/
r=head;/*尾指针指向头指针*/
while(n!=0
您可能关注的文档
最近下载
- 北京·新荣记 加冕“三星”,新荣记为何独得米其林青睐.docx VIP
- 2025年山东医学高等专科学校单招考试语文试题含答案解析.docx
- 口渴了-朋友帮你.ppt VIP
- 2025年山东医学高等专科学校单招(数学)历年真题考点含答案解析.docx
- 【行业标准】QSH 0039-2007 钻井液用水解聚丙烯腈铵盐技术要求.pdf VIP
- 《QSH0038-2007-钻井液用羧甲基纤维素钠盐技术要求》.pdf VIP
- 《桂海虞衡志》中少数民族风俗研究.doc VIP
- QSH 0048-2007 钻井液用聚丙烯酰胺钾盐技术要求.pdf VIP
- 医疗护理员培训大纲(试行).docx VIP
- 一汽大众ERP-SAP_原创文档.pdf VIP
原创力文档

文档评论(0)