数据结构 树的基本概念

树的定义和术语

自由树:一棵自由树 可以定义为一个二元组 (V, E) ,其中V是值集合,E是有序对的集合。

V中的元素称为顶点,E中的元素称为边或者分支。

有根树:一棵有根树,简称为树,它是n个结点的有限集合。

当n等于0时为空树;否则为非空树。

r称为根,T1,T2等是除r之外其他结点构成的子集合,每个子集也是一棵树,称为根的子树、

每棵子树的根结点有且只有一个直接前驱,但可以有0个或多个直接后继。

树是一个递归的定义。

结点:包含数据项以及指向其他结点的分支。

结点的度:结点所拥有的子树棵数。

叶结点:度为0的结点,又称终端结点。

分支结点:除叶结点外的其他结点,又称为非终端结点。

子女结点:若结点x有子树,则子树的根结点即为结点x的子女。

父节点:若x结点有子女,它即为子女的父节点

兄弟结点:同一父结点的子女互称为兄弟。

祖先结点:从根结点到该结点所经分支上的所有结点。

子孙结点:某一结点的子女,以及这些子女的子女都是改结点的子孙。

结点所处层次:简称结点的层次,即从根到该结点所经路径上的分支条数。

树中任一结点的层次为它的父结点的层次加1。结点所处层次也称为结点的深度。

树的深度:树中距离根结点最远的结点所处的层次即为树的深度。

树的高度:从下往上,叶结点的高夫为1,非叶结点的高度等于子女加一。(不同教材定义不同)

树的度:树中结点度的最大值。

有序树:树中的各子树是有顺序的。

无序树:树中各结点的子树可以交换位置。

森林:m(m>=0)棵树的集合。

树的抽象数据类型(接口)

构造树

销毁树

返回根结点地址,若树为空,返回0

建立树的根结点

返回第一个子女的地址,无子女返回0

返回下一个兄弟的地址,无兄弟返回0

返回结点中存放的数据

在下方插入新子女,插入失败返回false,插入成功返回true

删除第i个子女及其全部子孙,失败false,成功true

删除以t为根结点的子树

判断树是否为空

遍历树

猜你喜欢

转载自www.cnblogs.com/wbyixx/p/9356755.html