1 / 58
文档名称:

数据结构课程实验报告.doc

格式:doc   大小:682KB   页数:58页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构课程实验报告.doc

上传人:wdggjhm62 2020/11/20 文件大小:682 KB

下载得到文件列表

数据结构课程实验报告.doc

文档介绍

文档介绍:4 实验一 基于二叉链表的二叉树的实现
问题描述
基于二叉链表和队列及其堆栈存储结构,实现二叉链表的二叉树的对数据进行各种必要的操作。
系统设计
,分别是:



系统实现
InitTree功能
初始二叉链表,传入的是头结点地址。申请一个存储空间,并用头结点中的首结点指针指向该空间首地址,相应的 时间复杂度为1。具体实现如下:
DestroyTree功能
销毁头结点中首结点址针指向的线性存储空间,传入的是头结点地址。具体实现如下:
CreateBiTree功能
与DestroyBiTree类似但是又有不同,ClearBiTree并不销毁物理空间,而是修改逻辑关系值:
ClearBiTree功能
与DestroyBiTree类似但是又有不同,ClearBiTree并不销毁物理空间,而是修改逻辑关系值
BiTreeEmpty功能
判空功能,判断表是否为空表。时间复杂度为1,因为只需判断一次就可以知道是否为空。实现如下:
BiTreeDepth功能
求二叉链表深度的功能,由于创建过程中已经把表长信息包含在头结点中,所以直接调用并显示即可
Root(BiTree T)功能
获取二叉链表的根节点的元素,通过遍历二叉链表中的元素,来逐个判断,时间复杂度为(n)。
Value(BiTree T,TElemType e)功能
求指定元素的前一个元素的容,传入头结点值、包含指定元素信息的一个临时表结点值、存储前一个元素的表结点地址。主要思路是递归算法。时间复杂度为O(
n)。具体实现如下:
Assign功能
求指定元素的后一个元素的容,传入头结点值、包含指定元素信息的一个临时表结点值、存储前一个元素的表结点地址。找到后,把新的数据值赋给所找到的节点。时间复杂度为O(n)。具体实现如下:
Parent功能
找双亲节点,找到后输出
LeftChild功能
查找左孩子,利用递归的算法,与遍历的时间复杂度为相同O(n)

查找右孩子,利用递归的算法,与遍历的时间复杂度为相同O(n)