树和森林 ADT5.1:树的AD 数据及关系: 具有相同数据类型的数据元素或结点的有限集合。树T的二元组形式为 T=(D, R) 其中D为树T中结点的集合,R为树中结点之间关系的集合。 D=RootED 其中,Root为树T的根结点,D为树T的根Root的子树集合 R={<Root,r;>,i=1,2, 其中,r;是树T的根结点Root的子树T的根结点。 操作 Constructor 前提:已知根结点的数据元素之值。 结果:创建一棵树。 troo 前提:已知一棵树。 结果:得到树的根结点 FirstChild 前提:已知树中的某一指定结点p 结果:得到结点p的第一个儿子结点 Nextchild 前提:已知树中的某一指定结点p和它的一个儿子结点u。 结果:得到结点p的儿子结点u的下一个兄弟结点 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■树和森林 ADT 5.1: 树的ADT 数据及关系: 具有相同数据类型的数据元素或结点的有限集合。树T的二元组形式为: T=(D,R) 其中D为树T中结点的集合,R为树中结点之间关系的集合。 D={Root}∪DF 其中,Root为树T的根结点,DF为树T的根Root的子树集合。 R={<Root,ri >,i=1,2,…,m} 其中,ri是树T的根结点Root的子树Ti的根结点。 操作: Constructor: 前提:已知根结点的数据元素之值。 结果:创建一棵树。 Getroot: 前提:已知一棵树。. 结果:得到树的根结点。 FirstChild: 前提:已知树中的某一指定结点 p。 结果:得到结点 p 的第一个儿子结点。 NextChild: 前提:已知树中的某一指定结点 p 和它的一个儿子结点 u。 结果:得到结点 p 的儿子结点 u 的下一个兄弟结点 v