当前位置:首页 >> 数学 >>

实验七.二叉树的先序遍历(答案)


实验七、 二叉树及其先序遍历
一、 实验目的: 1.明确了解二叉树的链表存储结构。 2.熟练掌握二叉树的先序遍历算法。 二、实验内容: 1.树型结构是一种非常重要的非线性结构。树在客观世界是广泛存在的,在计算机领 域里也得到了广泛的应用。在编译程序里,也可用树来表示源程序的语法结构,在数据库系 统中,数形结构也是信息的重要组织形式。 2.节点的有限集合(N 大于等于 0) 。在一棵非空数里: (1) 、有且仅有一个特定的根 节点; (2) 、当 N 大于 1 时,其余结点可分为 M(M 大于 0)个互不相交的子集,其中每一 个集合又是一棵树,并且称为根的子树。树的定义是以递归形式给出的。 3.二叉树是另一种树形结构。它的特点是每个结点最多有两棵子树,并且,二叉 树的子树有左右之分,其次序不能颠倒。 4.二叉树的结点 存储结果示意图如下: 左指针域 数据域 右指针域

三、实验步骤 1.理解实验原理,读懂实验参考程序。 2. (1)在纸上画出一棵二叉树。

A B C D G E F

(2) 输入各个结点的数据。 (3) 验证结果的正确性。 四、程序流程图 五、程序代码 #include "stdio.h" #include "stdlib.h" #define Max 50 typedef char elemtype; /*预先定义结点数目最大为 50*/

typedef struct btnode { elemtype data; struct btnode *lchild, *rchild; }bitnode, *bitree;

/*自定义结点类型*/

bitree CreateBiTree() { /*先序遍历生成二叉树的递归算法*/ bitree t; /*定义二叉树 t*/ char ch; scanf("%c",&ch); if( ch=='.' ) t=NULL; else { t=( bitnode *)malloc(sizeof(bitnode) ); /*生成新的结点*/ t->data=ch; /*对数据域赋值*/ t->lchild=CreateBiTree(); /*递归构造左子树*/ t->rchild=CreateBiTree(); /*递归构造右子树*/ } return t; }/*CreateBiTree*/ void PreOrderTraverse(bitree bt) { /*先序遍历二叉树递归算法*/ if (bt!=NULL) { printf("%c",bt->data); /*访问根结点*/ PreOrderTraverse(bt->lchild); /*先序遍历左子树*/ PreOrderTraverse(bt->rchild); /*先序遍历右子树*/ } }/*PreOrderTraverse*/

void main() { bitree bt1; printf("creatbitree:\n"); bt1=CreateBiTree(); printf("preorder:\n"); PreOrderTraverse(bt1); }/*main*/


赞助商链接
相关文章:
实验七 二叉树的创建和遍历
实验七程序源码: #include<stdio.h> #include<stdlib.h> #include<string.h>...//先序遍历二叉树,p 指向二叉树的根结点 { if(p!=NULL)//二叉树 p 非...
二叉树的前序遍历程序的实现实验报告
二叉树的前序遍历程序的实现实验报告_计算机软件及应用_IT/计算机_专业资料。哈工大数据结构实验报告 实验二叉树的前序遍历程序的实现 实验报告 姓名: 学号: ...
实验七 二叉树及其应用
实验七 二叉树及其应用 【实验目的 实验目的】 实验目的 1、学会二叉树节点的定义。 2、知道按照需求创建合适的二叉树。 3、学会二叉树的各种遍历 先序 中序 后...
7-1实验七报告(二叉树的相关操作)
实验器材(软件) :Computer,Windows OS,VC++ 实验过程记录: 1、二叉树的遍历及其应用 (1) 请实现二叉树的创建 (2) 并对创建好的二叉树分别进行先序、中序、...
单元7练习参考答案
(√)(6)由二叉树的前序遍历序列和中序遍历序列,可以推导出后序遍历的序列。 (√)(7)在完全二叉树中,若一个结点没有左孩子,则它必然是叶子结点。 二.填空...
实验7 二叉树其它操作
实验7 实验目的 二叉树其它操作 1.在二叉树基本操作的基础上掌握对二叉树的...实验内容程序 1 已知二叉树的前序遍历序列和中序遍历序列,编写可唯一确定该二叉...
《数据结构》实验2
实验7.4 编写一个程序,实现由先序遍历序列和中序遍历序列以及由中序遍历序列和后 序遍历序列构造一棵二叉树的功能, 要求以括号表示和凹入表示法输出该二叉树...
实验七 二叉树验证实验报告
实验七 二叉树验证实验报告_计算机软件及应用_IT/计算机_专业资料。特殊线性表 ...{return root;} //前序遍历 template <class T> void BiTree<T>::Pre...
数据结构实验五(二叉树的建立及遍历)题目和源程序
实验5:二叉树的建立及遍历 : (第十三周星期三 7、8 节) 、一 、实验目的...三种递归遍历算法(前序、中序、后序)对这棵二叉树进行遍历并计算出二叉树 的...
实验七 树与二叉树
实验七 树与二叉树_工学_高等教育_教育专区。数据结构 实验指导 ...以二叉链表作为二叉树的存储结构,试利用栈的基本操作写出先序遍历的非递归形式 ...
更多相关标签: