- 76
- 0
- 约7.94千字
- 约 11页
- 2016-10-22 发布于湖北
- 举报
淮海工学院计算机工程学院
实验报告书
课程名: 《 数 据 结 构》
题 目: 树形数据结构及其应用
班 级:
学 号:
姓 名:
实验2 树形数据结构
实验目的和要求
1.熟练掌握二叉树的二叉链表存储结构;二叉树的常用遍历方法:按层遍历、先序递归遍历、中序递归和非递归遍历、后序递归遍历。
2.掌握按先序遍历顺序输入数据,递归建立二叉树的方法。
3. 掌握建立哈夫曼树的方法,实现哈夫曼编码。
实验环境
Turbo C 或VC++
实验学时
4学时,必做实验
实验题目
[问题描述] 建立一棵用二叉链表方式存储的二叉树,并对其进行遍历(先序、中序和后序),打印输出遍历结果。
[基本要求] 从键盘接受输入先序序列,以二叉链表作为存储结构,建立二叉树(以先序来建立)并对其进行遍历(先序、中序、后序),然后将遍历结果打印输出。要求采用递归和非递归两种方法实现。
[测试数据] ABCффDEфGффFффф(其中ф表示空格字符)
输出结果为: 先序:ABCDEGF
中序:CBEGDFA
后序:CGBFDBA
2.已知二叉树按照二叉链表方式存储,编写算法,要求实现二叉树的竖向显示(竖向显示就是二叉树的按层显示)。
[提示]:
(1)参习题6.20,实现逐层遍历
(2)队中保存每个结点的打印位置,其左、右子的距离
3.如题1要求建立好二叉树,按凹入表形式打印二叉树结构,如图6.34所示。
A
B C
D E
图6.34
F
主要数据结构
1.
typedef char DataType;
typedef struct Node
{
DataType data;
struct Node *LChild;
struct Node *RChild;
}BiTNode, *BiTree;
2.
ypedef BiTree QueueElementType;
typedef struct
{
QueueElementType element[MAXSIZE]; /* 队列的元素空间*/
int front; /*头指针指示器*/
int rear; /*尾指针指示器*/
}SeqQueue;
3.void InitQueue(SeqQueue *Q)/*初始化操作*/
4.int EnterQueue(SeqQueue *Q, QueueElementType x)/*入队操作*/
5.int DeleteQueue(SeqQueue *Q, QueueElementType *x)/*出队操作*/
6.int LayerOrder(BiTree bt)
7.InitQueue(Q); /*初始化空队列Q*/
8.void CreateBiTree(BiTree *bt)
9.void PreOrder(BiTree root)//先序遍历二叉树
10.void InOrder(BiTree root)//中序遍历二叉树
11.void PostOrder(BiTree root)//后序遍历二叉树
12.int CreateBiTree(BiTree T) //创建一棵非空二叉树
13.void PrintTree(BiTree Boot,int nLayer) /* 打印二叉树 */
主要算法
用递归和非递归进行遍历(先序、中序、后序)
按图进行遍历
用队列编写二叉链表存储:初始化、入队、出队
运行结果
递归
非递归
2.
3.
实验体会
代码可能有点冗长,对后序线索二叉树求后继节点实现的不是很好。
这次任务量有点大,实现的函数太多,全部放在一个文件里不利于维护与修改。
附源代码
递归:
#include stdio.h
#include malloc.h
#include conio.h
typedef char DataType;
typedef struct Node
{
DataType data;
struct Node *LChild;
struct
您可能关注的文档
- 四、黄金价格体系的构成及相互关系解析.ppt
- 四、数据通信的技术指标解析.ppt
- 四、绦虫口腔病原体的自查解析.ppt
- 四、一级建造师管理易错题总结解析.doc
- 四、脂类的测定11.16解析.ppt
- 四.变阻器解析.ppt
- 四.随机过程的功率谱密度解析.ppt
- 四_认识和探索自我之人格解析.ppt
- 四1方向与位置课件解析.ppt
- 四-3、群落的结构解析.ppt
- 2023年保育员(初级)考试历年真题荟萃4套合1(附带答案)套卷39.docx
- 2023年全国一级建造师《矿业工程管理与实务》考试真题参考答案.docx
- 2023年保育员(初级)考试历年真题摘选三套集锦(附带答案)卷6.docx
- 2023年保育员(初级)考试历年真题摘选三套集锦(附带答案)卷42.docx
- 2026年中国通用型防水浆料数据监测研究报告.docx
- 2023年会计电算化真题及答案.docx
- 2023年保育员(初级)考试历年真题摘选三套集锦(附带答案)卷31.docx
- 2023年保育员(初级)考试历年真题摘选三套集锦(附带答案)卷31.docx
- 2026年中国农药残留快速测定仪数据监测研究报告.docx
- 2023年会计从业资格证《会计电算化》真题模拟汇编(共263题).docx
原创力文档

文档评论(0)