树
树的基本术语
根结点:非空树中无前驱结点的结点
结点的度:结点拥有的子树数。
树的度:树内各结点的度的最大值。
度≠0的结点称为分支结点,根结点以外的分支结点称为内部结点****非终端节点
度=0的结点称为叶子 终端节点
结点的子树的根称为该结点的孩子,该结点称为孩子的双亲
结点的祖先:从根到该结点所经分支上的所有结点。
结点的子孙:以某结点为根的子树中的任一结点。
同一结点的孩子之间称为兄弟
双亲在同一层的结点称为堂兄弟
树的深度(高度):树中结点的最大层次
有序树:树中结点的各子树从左至右有次序(最左边的为第一个孩子)
无序树:树中结点的各子树无次序。
森林:是m (m≥0)棵互不相交的树的集合。
把根结点删除树就变成了森林。
一棵树可以看成是一 个特殊的森林。
给森林中的各子树加上一个双亲结点,森林就变成了树。
树一定是森林
森林不一定是树
线性结构 | 树结构 |
---|---|
第一个数据元素->无前驱 | 根结点(只有一个)->无双亲 |
最后一个数据元素->无后继 | 叶子结点(可以有多个)->无孩子 |
其它数据元素 | 其它结点一中间结点 |
一个前驱一个后继 | 一个双亲多个孩子 |
一对一 | 一对多 |
二叉树2
二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树
左右结点可为空