本论文是一篇结点方面论文查重,关于毕业顶岗实习报告相关专升本毕业论文范文。免费优秀的关于结点及操作系统及计算机方面论文范文资料,适合结点论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
实习报告
题目:一个表达式和一棵二叉树之间,存在着自然的对应关系.写一个程序,实现基于二叉树表示的算术表达式Expression的操作.
班级:计算机06(1)姓名:崔敬敏学号:23020062203744完成日期:2016.5.21
:cjm363959255@gmail.
一、需求分析
1—》假设算术表达式Expression内可以含有变量(a~z)Createsmtrix(&,T,definition),
初始条件:definition给出二叉树T的定义.
操作结果:按definition构造二叉绎T.
2.主程序
Voidmain(){
初始化,
Do{
接受命令,
处理命令,
}while("命令"!等于"输出"),
}
3.本程序只有两个模块,调用关系简单.
主程序模块
二叉树模块
三、详细设计
1,元素类型,结点类型和指针类型
//------------------二叉树的二叉链表的存储表示------------------------//
Typedefstructbitnode{
Telemtypedata,
Structbitnode*lchild,*rchild,
}bitnode,*bitree,
//------------------基本操作的函数的原型说明(部分)------------------//
Statuscreatebitree(bitree&,T),
//按先序次序输入法二叉树中结点的值(一个字符),
//空格字符表示空树,构造二叉链表表示的二叉树T.
StatusPreOrderTravers(bitreeT,status(*Visit)(telemtypee)),
//采用二叉链表存储结构,Visit是对结点操作的应用函数.
//先序遍历二叉树T,对每个结点调用函数Visit一次且仅一次.
//一旦Visit()失败,则操作失败.
StatusInOrderTravers(bitreeT,status(*Visit)(telemtypee)),
//采用二叉链表存储结构,Visit是对结点操作的应用函数.
//中序遍历二叉树T,对每个结点调用函数Visit一次且仅一次.
//一旦Visit()失败,则操作失败.
StatusPostOrderTravers(bitreeT,status(*Visit)(telemtypee)),
这篇论文来源 http://www.sxsky.net/xie/070763520.html
//采用二叉链表存储结构,Visit是对结点操作的应用函数.
//后序遍历二叉树T,对每个结点调用函数Visit一次且仅一次.
//一旦Visit()失败,则操作失败.
StatusLevelOrderTravers(bitreeT,status(*Visit)(telemtypee)),
//采用二叉链表存储结构,Visit是对结点操作的应用函数.
//层序遍历二叉树T,对每个结点调用函数Visit一次且仅一次.
//一旦Visit()失败,则操作失败.
四、调试分析
1.建立一个表达式树的时候,开始只是套用所写的算法,没有考虑到C语言中没有引用调用,在老师的指导下通过修改算法返回和参数,将创建问题解决了.
2.由于一直只是将叶子结点存在一个数组中,开始的想法是存取的时候比较方便,没有考虑到后来计算过程要用将临时结果存储在运算符的结点数据域中,使得开始计算时非常麻烦.最后通过修改结点的存储结构:即在每一个结点处另设一个数据域存储临时计算结果.
3.在对同一个表达式中的不同未知数赋值时遇到一些问题,就因为回车符的干扰使得程序运行的结果不能像预想的那样运行,通过请教陈美彬同学,对回车符作了接收并设了一个临时变量作为赋值是否成功的标志,解决了此问题.
4.在写程序过程中,对部分的回车符要作特别的接收处理.
5.在创建二叉树过程中没有注意