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

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


实验七、 二叉树及其先序遍历
一、 实验目的: 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*/


相关文章:
二叉树的遍历(先序遍历、中序遍历、后序遍历全)实验报告.doc
二叉树的遍历(先序遍历、中序遍历、后序遍历全)实验报告 - 实验目的 编写一个程序,实现二叉树的先序遍历,中序遍历,后序遍历。 实验内容 编程序并上机调试运行...
二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK 中....doc
二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK 中序遍历:HFIEJKG 该二叉树根的右子树的根是( )。 A.EB.FC.GD.H_答案解析_2016年_一模/二模/三模/...
二叉树的前序遍历程序的实现实验报告.doc
二叉树的前序遍历程序的实现实验报告 - 实验二叉树的前序遍历程序的实现 实验报告 姓名: 学号: 日期: 2012.12.8 (以下内容用五号字书写,本页空白不够可...
实验七 二叉树的创建和遍历.doc
实验七程序源码: #include<stdio.h> #include<stdlib.h> #include<string.h>...//先序遍历二叉树,p 指向二叉树的根结点 { if(p!=NULL)//二叉树 p 非...
二叉树及其先序遍历.doc
二叉树及其先序遍历 - 实验实验四 二叉树及其先序遍历 一、实验目的 1.明确了解二叉树的链表存储结构。 2.熟练掌握二叉树的先序遍历算法。 二、实验内容 1...
实验七 二叉树及其应用.doc
实验七 二叉树及其应用 【实验目的 实验目的】 实验目的 1、学会二叉树节点的定义。 2、知道按照需求创建合适的二叉树。 3、学会二叉树的各种遍历 先序 中序 ...
若二叉树的先序遍历序列为ABDECF,中序遍历序列为DBEAFC....doc
二叉树的先序遍历序列为ABDECF,中序遍历序列为DBEAFC,则其后序遍历序列为()。 A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA_答案解析_2016年_一模/二模/三模/...
第6章 树和二叉树单元测试(答案).doc
第6章 树和二叉树单元测试(答案)_IT认证_资格考试...则 T 中的叶子 数为( ) A.5 B.6 C.7 D....层次序列 6.已知一棵二叉树的先序遍历结果为 ABC...
数据结构实验二叉树及其先序遍历.doc
数据结构实验二叉树及其先序遍历_工学_高等教育_教育专区。数据结构实验二叉树及其先序遍历,程序步骤以及实验代码 实验实验二叉树及其先序遍历一、实验目的 ...
...那么它的前序遍历序列应为( )。 _答案_百度高考.doc
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,那么它的前序遍历序列应为( )。 A.acbedB.decabC.deabcD.cedba_答案解析_2016年_一模/二模/三模/联考_...
实验八:二叉树的遍历与应用.doc
实验八:二叉树的遍历与应用 - 这是数据结构里的二叉树先序,中序,后序遍历的程序... 这是数据结构里的二叉树先序,中序,后序遍历的程序 实验8 二叉树的遍历与...
...EACHF,则该二叉树的后序遍历为( )。 _答案_百度高考.doc
已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为( )。 A.GEDHFBCAB.DGEBHFCAC.ABCDEFGHD.ACBFEDHG_答案解析_2016年_一模...
一棵非空的二叉树的先序遍历序列与后序遍历序列正好相....doc
一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( )。 A.所有的结点均无左孩子B.所有的结点均无右孩子C.只有一个叶子结点D.是...
第5章 树和二叉树习题答案.doc
第5章 树和二叉树习题答案_理学_高等教育_教育专区。第 6 章 树和二叉树 ...A.前序 B.中序 C.后序 D.按层次 (7)一棵非空的二叉树的先序遍历序列...
实验七 二叉树的其他典型算法及其应用(1).doc
实验七 二叉树的其他典型算法及其应用 一、实验目的 1、深入了解二叉树递归遍历算法的执行过程,熟练掌握二叉树先序非递归遍历算法、 中序非递归算法及其应用。 2、...
对下列二叉树进行前序遍历的结果为( )。 _答案_百度高考.doc
对下列二叉树进行前序遍历的结果为( )。正确答案及相关解析 正确答案 C 解析 [解析] 前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问...
数据结构实验报告-二叉树的实现与遍历.doc
重庆邮电大学计算机学院 计算机专业实验中心 一、实验内容 1) 采用二叉树链表作为存储结构,完成二叉树的建立,先序、中序和后序 以及按层次遍历的操作,求所有叶子及...
数据结构上机实验-根据前序遍历和中序遍历构造二叉树.pdf
数据结构上机实验-根据前序遍历和中序遍历构造二叉树_工学_高等教育_教育专区。数据结构上机实验-根据前序遍历何种序遍历构造二叉树 ...
实验五 二叉树.doc
如图 8.7 所示的 4 棵二叉树,___不是完全二叉...二叉树的前序遍历序列中,任意一个结点均处在其子女...n 在 m 左 6.2 填空题(将正确的答案填在相应...
二叉树的建立与遍历实验报告(c语言编写,附源代码).doc
二叉树的建立与遍历实验报告(c语言编写,附源代码) - 程序用VC编写,实现建立一棵二叉树的功能,并对其进行遍历(先序、中序、后序),并且打印输出遍历结果。