- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实 验 报 告
实验名称 二叉树实验 评分: 实验课时 4课时 实验地点 综合楼E405 实验时间 2016年4月 24日 星期三 第5周 实验目的
及要求 实验目的:
通过序列构造二叉树的实验,进一步熟悉二叉树遍历及构造二叉树的过程,掌握基本知识点,发现理论学习中的不足;理清学习脉络;能独立思考,根据具体的序列组织数据,合理显示二叉树。
实验要求:
(1)用树形结构画出一棵二叉树(在结论中画出),采用凹入表示法和括号表示法正确输出该树。
(2)分析该二叉树的先序遍历、中序遍历和后序遍历的结果。
(3)根据二叉树的基本运算,设计先序遍历和中序遍历(或者中序遍历和后序遍历),确定二叉树的算法。
(4)在不改变原有二叉树结构的条件下,将二叉树左右孩子进行交换,并采用凹入表示法和括号表示法输出原有二叉树及交换子树后的二叉树。 实验设备
(软件、硬件及耗材) 软件环境:Win7 microsoft visual6++
硬件环境:intel core i5 cpu,4G内存,64位操作系统
实验内容
(算法、程序、步骤、方法及数据记录)
实验内容
(算法、程序、步骤、方法及数据记录)
实验内容
(算法、程序、步骤、方法及数据记录)
实验内容
(算法、程序、步骤、方法及数据记录)
一,源代码(1):头文件
#includestdio.h
#includemalloc.h
#define maxsize 100
typedef char elemtype;
typedef struct node
{
elemtype data;
struct node *lchild;
struct node *rchild;
}btnode;
extern void createbtnode(btnode *b,char *str);
extern void dispbtnode(btnode *b);
extern void destroybtnode(btnode *b);
extern void preorder(btnode *b);
extern void inorder(btnode *b);
extern void postorder(btnode *b);
extern btnode *createbt1(char *pre,char *in,int n);
extern btnode *createbt2(char *post,char *in,int n,int m);
extern void dispbtnode1(btnode *b);
extern btnode * revers(btnode *b);
extern btnode *rchildnode(btnode *p);
extern btnode *lchildnode(btnode *p);
二源代码(2):主函数:包括括号表示法,凹入表示法以及根据先序,中序确定二叉树。
#includestdio.h
#includebtnodes.h
void main()
{
btnode *b;
createbtnode(b,A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I))));
printf(二叉树的基本运算入下:\n);
printf((1)输出二叉树:);
dispbtnode(b);
printf(\n);
printf(先序遍历序列:);
preorder(b);
printf(\n);
printf(中序遍历序列:);
inorder(b);
printf(\n);
printf(后序遍历序列:);
postorder(b);
printf(\n);
elemtype pre[]=ABDEHJKLMNCFGI;
elemtype in[]=DBJHLKMNEAFCGI;
b=createbt1(pre,in,14);
printf(先序序列:%s\n,pre);
printf(中序序列:%s\n,in);
printf(先序中序构造一棵二叉树b:\n);
printf(括号表示法:);
dispbtnode(b);
printf(\n);
printf(凹入表示法:\n);
dispbtnode1(b);
printf(\n\n);
printf(交换左右孩子后的二叉树为:\n);
createbtnode(b,A(B(D,E(H(J,K(L,M(,N)))
您可能关注的文档
最近下载
- 2007年考研英语一真题解析.pdf VIP
- 救护车司机培训计划.pptx VIP
- 人教版七年级上册数学第三章 一元二次方程练习题.docx VIP
- 20211121-华金证券-纺织服装行业周报:10月社零回升,消费市场回暖.pdf VIP
- 非均匀有理B样条:B样条曲面II及NURBS.pdf VIP
- 妇产科护理网络在线课程的教学设计与实践应用.pdf VIP
- 十年(2016-2025)高考化学真题分类汇编:专题40 化学反应原理综合题——反应热+速率平衡(原卷版).docx VIP
- 设备安装、维修合同模板7篇.docx VIP
- 广东六校2025届高三10月联考英语试题.pdf VIP
- 削坡减载施工方案.docx VIP
文档评论(0)