数据结构实验7:二叉树子系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

验证性实验7:二叉树子系统

班级学号BX100420 姓名施程程成绩

1.实验目的

(1)掌握二叉树的特点及其存储的方式。

(2)掌握二叉树的创建和显示方法。

(3)复习二叉树遍历的概念,掌握二叉树遍历的基本方法

(4)掌握求二叉树的叶结点数、总结点数和深度等基本算法。

2.实验内容

(1)按屏幕提示用前序方法建立一棵二叉树,并能按凹入法显示二叉树结构。(2)编写前序遍历、中序遍历、后序遍历、层次遍历程序。

(3)编写求二叉树的叶结点数、总结点数和深度的程序。

(4)设计一个选择式菜单,以菜单方式选择下列操作。

二叉树子系统

********************************************");

* 1---------建二叉树 *");

* 2---------凹入显示 *");

* 3---------先序遍历 *");

* 4---------中序遍历 *");

* 5---------后序遍历 *");

* 6---------层次遍历 *");

* 7---------求叶子数 *");

* 8---------求结点数 *");

* 9---------求树深度 *");

* 0---------返回 *");

********************************************");

请选择菜单号(0--9):

3.实验步骤:

(1)输入并调试程序;

(2)按下图建立二叉树;

二叉树子系统

******************************************

* 1---------建二叉树*

* 2---------凹入显示*

* 3---------先序遍历*

* 4---------中序遍历*

* 5---------后序遍历*

* 6---------层次遍历*

* 7---------求叶子数*

* 8---------求结点数*

* 9---------求树深度*

* 0---------返回*

******************************************

请选择菜单号:1

请输入按先序建立二叉树的结点序列:

说明:'0'代表后继结点为空,请逐个输入,按回车键输入下一结点。请输入根结点:a

请输入a结点的左子结点:b

请输入b结点的左子结点:d

请输入d结点的左子结点:0

请输入d结点的右子结点:0

请输入b结点的右子结点:0

请输入a结点的右子结点:c

请输入c结点的左子结点:e

请输入e结点的左子结点:0

请输入e结点的右子结点:0

请输入c结点的右子结点:f

请输入f结点的左子结点:0

请输入f结点的右子结点:0

(3)检查凹入法显示的二叉树是否正确;

二叉树子系统

******************************************

* 1---------建二叉树*

* 2---------凹入显示*

* 3---------先序遍历*

* 4---------中序遍历*

* 5---------后序遍历*

* 6---------层次遍历*

* 7---------求叶子数*

* 8---------求结点数*

* 9---------求树深度*

* 0---------返回*

******************************************

请选择菜单号:2

凹入表示法:

a ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃

b ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃

d ▃▃▃▃▃▃▃▃▃▃▃▃▃

c ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃

e ▃▃▃▃▃▃▃▃▃▃▃▃▃

f ▃▃▃▃▃▃▃▃▃▃▃▃▃

按回车键返回主菜单!

(4)检查其他算法的正确性举例:

二叉树子系统

******************************************

* 1---------建二叉树*

* 2---------凹入显示*

* 3---------先序遍历*

* 4---------中序遍历*

* 5---------后序遍历*

* 6---------层次遍历*

* 7---------求叶子数*

* 8---------求结点数*

* 9---------求树深度*

* 0---------返回*

******************************************

请选择菜单号:3

该二叉树的先序遍历序列为:a b d c e f

4.实验程序

#include

#define TREEMAX 100

typedef struct BT

{

char data;

BT *lchild;

BT *rchild;

}BT;

BT *CreateTree();

void ShowTree(BT *T);

void Preorder(BT *T);

void Postorder(BT *T);

void Levelorder(BT *T);

void Inorder(BT *T);

void Leafnum(BT *T);

void Nodenum(BT *T);

int TreeDepth(BT *T);

int count=0;

相关文档
最新文档