二叉树线索
- 格式:doc
- 大小:439.00 KB
- 文档页数:5
数学与计算科学学院
实 验 报 告
实验项目名称
所属课程名称
实 验 类 型
实 验 日 期
班 级
学 号
姓 名
成 绩
1
一、实验概述:
【实验目的】
【实验原理】
【实验环境】
二、实验内容:
【实验方案】
【实验过程】(实验步骤、记录、数据、分析)
C:\Documents and Settings\Administrator\桌面\jh.cpp(70) : error C2065:
'PrintElement' : undeclared identifier
2
【实验结论】(结果)
【实验小结】(收获体会)
三、指导教师评语及成绩:
评 语
评语等级
优 良 中 及格 不及格
1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强
2.实验方案设计合理
3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)
4实验结论正确.
成 绩:
指导教师签名:
批阅日期:
附录1:源 程 序
#include
#include
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
typedef char TElemType;
typedef enum {Link,Thread}PointerTag;
typedef struct BiThrNode{
TElemType data;
struct BiThrNode *lchild,*rchild;
PointerTag LTag,RTag;
}BiThrNode,*BiThrTree;
Status CreateBiThrTree(BiThrTree &T){ 3 char ch;
scanf("%c",&ch);
if(ch==' ') T=NULL;
else{
if(!(T=(BiThrNode*)malloc(sizeof(BiThrNode))))exit(OVERFLOW);
T->data=ch;
T->LTag=T->RTag=Link;
CreateBiThrTree(T->lchild);
CreateBiThrTree(T->rchild);
}return OK;
}
Status PrintElement(TElemType e){
printf("%c ",e);
return OK;
}
BiThrTree pre;
void InThreading(BiThrTree p)
{
if(p){
InThreading(p->lchild);
if(!p->lchild){p->LTag=Thread;p->lchild=pre;}
if(!pre->rchild){pre->RTag=Thread;pre->rchild=p;}
pre=p;
InThreading(p->rchild);}
}
Status InOrderThreading(BiThrTree &Thrt,BiThrTree T){
if(!(Thrt=(BiThrTree)malloc(sizeof(BiThrNode))))exit(OVERFLOW);
Thrt->LTag=Link;Thrt->RTag=Thread;
Thrt->rchild=Thrt;
if(!T)Thrt->lchild=Thrt;
else{
Thrt->lchild=T;pre=Thrt;
InThreading(T);
pre->rchild=Thrt;pre->RTag=Thread;
Thrt->rchild=pre;
}
return OK;
}
Status InOrderTraverse_Thr(BiThrTree T,Status(*Visit)(TElemType e)){
BiThrTree p;
p=T->lchild;
while(p!=T){
while(p->LTag==Link)p=p->lchild;
if(!Visit(p->data))return ERROR; 4 while(p->RTag==Thread && p->rchild!=T){
p=p->rchild;Visit(p->data);
}
p=p->rchild;
}printf("\n");
return OK;
}
void main()
{
BiThrTree T,Thrt;
CreateBiThrTree(T);
InOrderThreading(Thrt,T);
InOrderTraverse_Thr(Thrt,PrintElement);
}
附录2:实验报告填写说明
1.实验项目名称:要求与实验教学大纲一致。
2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。
3.实验原理:简要说明本实验项目所涉及的理论知识。
4.实验环境:实验用的软、硬件环境。
5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。
对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性实验,还应注明其创新点、特色。
6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。
7.实验结论(结果):根据实验过程中得到的结果,做出结论。
8.实验小结:本次实验心得体会、思考和建议。
9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。