数据结构_实验三_树结构算法设计.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

中国矿业大学计算机科学与技术系试验报告

课程名称________数据结构_______试验名称____树结构算法设计__________________

班级____信息安全08-1_____姓名___________学号___________仪器组号_______实验日期

___09-11-18___

实验报告要求:1.实验目的2.实验内容3.实验步骤4.程序清单

5.运行结果6.流程图7.实验体会

一、实验目的

1理解树结构的逻辑特性;

2熟练掌握二叉树的逻辑结构特性及各种存储方法;

3熟练掌握二插树的各种基本操作,尤其是三种遍历算法以及线索化算法。

4进一步了解和掌握类的私有和公有成员函数的定义和使用以及类型的作用域。

二、实验要求:

1实验之前认真准备,编写好源程序。

2实验中认真调试程序,对运行结果进行分析,注意程序的正确性和健壮性的验证。

3不断积累程序的调试方法。

三、实验内容

基本题

1试写出中序遍历二叉树的递归和非递归程序并调试。

2给定一棵用链表表示的二叉树,其根指针为root,试写出求二叉树结点数目。

四、程序清单

基本题

1.1

#includeiostream.h

#includeconio.h

#includestdlib.h

typedefstructBiTNode{

chardata;

BiTNode*lchild,*rchild;//左右孩子指针

}BiTNode,*BiTree;

voidCreateBiTree(BiTreeT){

//按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树

//构造二叉链表表示的二叉树T

charch;

cout请输入数据:\t;

cinch;

if(ch==p)

T=NULL;

else

{

T=(BiTNode*)malloc(sizeof(BiTNode));

T-data=ch;//生成根结点

CreateBiTree(T-lchild);//构造左子树

CreateBiTree(T-rchild);//构造右子树

}

}//CreateBiTree

voidInOrderTraverse(BiTreeT){

//中序输出树中的数据

if(T!=NULL){

InOrderTraverse(T-lchild);

coutT-data;

InOrderTraverse(T-rchild);

}

}//InOrderTraverse

voidmain(){

BiTreeRoot;

CreateBiTree(Root);

InOrderTraverse(Root);

coutendl;

getch();

}

//非递归中序遍历算法

1.2

#includeiostream

#includeconio.h

#includestack

usingnamespacestd;

typedefstructBiTNode{

chardata;

BiTNode*lchild,*rchild;//左右孩子指针

}BiTNode,*BiTree;

voidCreateBiTree(BiTreeT){

//按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树

//构造二叉链表表示的二叉树T

charch;

cout请输入数据:\t;

cinch;

if(ch==0)

T=NULL;

else

{

T=(BiTNode*)malloc(sizeof(BiTNode));

T-data=ch;

文档评论(0)

137****7707 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档