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

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


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


相关文章:
实验7二叉树的创建和遍历
实验7二叉树的创建和遍历_化学_自然科学_专业资料。陕西科技大学实验报告 班级 ...程序流图: 输入节点及 信息变量 要执行的操 作 先序遍历 中序遍历 后序遍历...
实验七 二叉树的创建和遍历
实验七程序源码: #include<stdio.h> #include<stdlib.h> #include<string.h>...//先序遍历二叉树,p 指向二叉树的根结点 { if(p!=NULL)//二叉树 p 非...
二叉树的遍历(先序遍历、中序遍历、后序遍历全)实验报告
二叉树的遍历(先序遍历、中序遍历、后序遍历全)实验报告_工学_高等教育_教育专区。二叉树的遍历,递归法 实验目的编写一个程序,实现二叉树的先序遍历,中序遍历,...
实验七 二叉树及其应用
实验七 二叉树及其应用 【实验目的 实验目的】 实验目的 1、学会二叉树节点的定义。 2、知道按照需求创建合适的二叉树。 3、学会二叉树的各种遍历 先序 中序 后...
二叉树的遍历实验报告
基于二叉树的递归定义, 以及遍历规则, 本次实验也采用的是先序遍历的规则进行建树 的以及用递归的方式进行二叉树的遍历。 二、系统总框图 主程序 建立二叉树 ...
二叉树的前序遍历程序的实现实验报告
二叉树的前序遍历程序的实现实验报告_计算机软件及应用_IT/计算机_专业资料。哈工大数据结构实验报告 实验二叉树的前序遍历程序的实现 实验报告 姓名: 学号: ...
实验报告二叉树
实验报告二叉树_调查/报告_表格/模板_实用文档。实验报告 课程名称 题目 数据...(1)创建二叉树链表。 (2)前序遍历。 (3)中序遍历。 (4)后序遍历。 七...
实验七 二叉树验证实验报告
实验七 二叉树验证实验报告_计算机软件及应用_IT/计算机_专业资料。特殊线性表 ...(root->rchild); //前序递归遍历 bt 的右子树 } } //中序遍历 特殊...
第5章 树和二叉树习题答案
第5章 树和二叉树习题答案_理学_高等教育_教育专区。第 6 章 树和二叉树 一...A.前序 B.中序 C.后序 D.按层次 (7)一棵非空的二叉树的先序遍历序列...
实验七遍历二叉树和线索二叉树
实验七 遍历二叉树和线索二叉树 一、 实验目的 1. 熟悉二叉树的存储和实现方法...} /*主程序—创建二叉树,并输出相应的先序,中序,后序序列*/ void main()...
更多相关标签: