数据结构实验报告 题目:树的抽像数据类型实现 一、 实验目的 对某个具体的抽象数据类型,运用课程所学的知识和方法,设计合理的数据结构,并在此基础上实现该抽象数据类型的全部基本操作
通过本设计性实验,检验所学知识和能力,发现学习中存在的问题
进而达到熟练地运用本课程中的基础知识及技术的目的
二、实验编程环境 编程环境:Visual C++
三、实验要求 利用c语言实现树的抽象数据类型的基本操作
四、基本操作描述 树的结构定义和树的一组基本操作: ADT Tree{ 数据对象D :D 是具有相同特性的数据元素的集合
数据关系R : 若D 为空集,则称为空树; 若D 仅含有一个数据元素,则R 为空集,否则R={ H} ,H 是如下二元关系: (1) 在D 中存在唯一的称为根的数据元素root,它在关系H 下无前驱; (2) 若D-{ root}≠NULL,则存在D-{ root} 的一个划分D1,D2,D3, „,Dm(m>0),对于任意j≠k(1≤j,k≤m)有Dj∩Dk=NULL,且对任意的i(1≤i≤m),唯一存在数据元素xi∈Di有∈H; (3) 对应于D-{root}的划分,H-{,„,}有唯一的一个划分H1,H2,„,Hm(m>0),对任意j≠k(1≤j,k≤m)有Hj∩Hk=NULL,且对任意i(1≤i≤m),Hi是Di上的二元关系,(Di,{Hi})是一棵符合本定义的树,称为根root的子树
基本操作P: InitTree(&T); 操作结果:构造空树T
DestroyTree(&T); 初始条件:树T 存在
操作结果:销毁树T
CreateTree(&T,definition); 初始条件:definition 给出树T 的定义
操作结果:按definition 构造树T
ClearTree(&T); 初始条件:树T 存在
操作结果:将树