- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
试验一一元多项式试验要求12课时
实验一 一元多项式实验要求(12 课时)
一基本要求:
1.编写程序polyn.c(或polyn.cpp)实现ADT Polynomial ,可以使用下列结构实现:
typedef struct{
float p; //系数
int e; //指数
}ElemType;
实现基本操作:
CreatePolyn(p,m) ,创建一元多项式,可从终端接受m 组(p,e )系数/指数组。
AddPolyn(pa,pb) , 实现两个一元多项式的加法
SubtractPolyn(pa,pb) 实现两个一元多项式的减法
PrintPolyn(p) 实现在屏幕打印出一个一元多项式,形如 3x^10+9x^5+8
DostroyPolyn(p); 销毁多项式
2.编写主程序,实现菜单
1 )创建(两个一元多项式pa 、pb)
2 )打印
3 )求和
4 )求差
5 )销毁
6 )退出
示例数据:
pa=3x^20+12x^15-9x^12+6x^4+8
输入 3 20 12 15 -9 12 6 4 8 0
pb=5x^18-8x^15+9x^12-10x^8-9x^4+7x^2-4
输入 5 18 -8 15 9 12 -10 8 -9 4 7 2 -4 0
输出结果:
和:3x^20+5x^18+4x^15-10x^8-3x^4+7x^2+4
差: 3x^20-5x^18+20x^15-18x^12+10x^8+15x^4-7x^2+12
二.实验拓展
1 )对于某个X 的值,求多项式的值。
2) 实现多项式的微分(N 阶导数)
3 )实现多项式的定积分
4 )实现一元多项式的乘法
5 )实现一元多项式的除法(给出商多项式和余多项式)
实验二 栈和队列的应用(4 课时)
一.基本要求
1.编写程序 stack.cpp 实现ADT Stack ,可以使用顺序栈或链栈。
实现基本操作:
InitStack(S);
DestroyStack(S);
StackEmpty(S);
Push(S,e);
Pop(S,e);
GetTop(S,e);
TraverseStack(S);
2.在以下几个实验中选择一个编码实现:
1)括号匹配判断
2 )表达式计算:(逆波兰式输入,单字符操作数,如347 ×+表示3+4 ×7 )
二.实验拓展
1)迷宫求解
2 )八皇后问题求解
3 )求一个集合的幂集
实验三 二叉树(4 课时)
一.基本要求
1.编写程序 bitree.cpp 实现ADT BiTree ,要求使用二叉链表存储。
实现基本操作:
InitBiTree(T);
DestroyBiTree(T);
PreOrder(T,visit());
InOrder(T,visit());
PostOrder(T,visit());
2.编码实现以下算法:
1)创建二叉树。(以先序扩展序列给出)
2 )输出先序、中序和后序序列。
3 )计算机二叉树结点数、叶子结点数、高度。
测试数据:先序扩展序列:ABDF##G##E#H##C##
输出:先序ABDFGEHC 中序FDGBEHAC 后序 FGDHEBCA
结点数:8 叶子结点数:4 高度:4 。
二.实验拓展
1)实现层次遍历。
2 )查找:查值为X 的结点、双亲结点、孩子结点、兄弟结点
3 )判断:判断一个二叉树是否为二叉排序树、完全二叉树、平衡和二叉树
4 )处理:左右子树互换、复制、删除子树、插入子树
文档评论(0)