ADT Tree 数据对象D: D是具有相同特性的数据元素的集合。 数据关系R: 若D为空集,则称为空树; 否则: (①在D中存在唯一的称为根的数据元素root, (2)当n>1时,其余结点可分为m(m>0)个互 不相交的有限集T,T2,Tm,其中每一 个子集本身又是一棵树,称为根root的子树。 基本操作P: ADT Tree
数据对象 D: D是具有相同特性的数据元素的集合。 (1) 在D中存在唯一的称为根的数据元素root, (2) 当n>1时,其余结点可分为m (m>0)个互 不相交的有限集T1 , T2 , ., Tm, 其中每一 个子集本身又是一棵树,称为根root的子树。 数据关系 R: 若D为空集,则称为空树; 否则: 基本操作 P:
基本操作: +查找类 +插入类 +删除类 酸
基本操作: 查 找 类 插 入 类 删 除 类
查找类: Root(T)∥求树的根结点 Value(T,cure)/∥求当前结点的元素值 Parent(T,cure)∥求当前结点的双亲结点 LeftChild(T,cure)∥求当前结点的最左孩子 RightSibling(T,cur_e)∥求当前结点的右兄弟 TreeEmpty(T)l∥判定树是否为空树 TreeDepth(T)∥求树的深度一树中结点的最大层次 TraverseTree(T,Visit0)∥遍历
Root(T) // 求树的根结点 查找类: Value(T, cur_e) // 求当前结点的元素值 Parent(T, cur_e) // 求当前结点的双亲结点 LeftChild(T, cur_e) // 求当前结点的最左孩子 RightSibling(T, cur_e) // 求当前结点的右兄弟 TreeEmpty(T) // 判定树是否为空树 TreeDepth(T) // 求树的深度 TraverseTree( T, Visit() ) // 遍历 树中结点的最大层次
插入类: InitTree(&T)∥初始化构造空树 CreateTree(&T,definition) /按定义构造树 Assign(T,cur_e,value) ∥给当前结点赋值 InsertChild(&T,&p,i,c) ∥将以c为根的树插入为结点p的第棵子树
InitTree(&T) // 初始化构造空树 插入类: CreateTree(&T, definition) // 按定义构造树 Assign(T, cur_e, value) // 给当前结点赋值 InsertChild(&T, &p, i, c) // 将以c为根的树插入为结点p的第i棵子树
删除类: ClearTree(&T)/将树清空 DestroyTree(&T)∥销毁树结构 DeleteChild(&T,&p,i) ∥删除T中结点p的第棵子树
ClearTree(&T) // 将树清空 删除类: DestroyTree(&T) // 销毁树结构 DeleteChild(&T, &p, i) // 删除T中结点p的第i棵子树