树和二叉树【数据结构】

来自于数据结构书
一、树的基本术语:
(l) 结点:树中的一个独立单元。包含一个数据元素及若于指向其子树的分支,如图 5.1
(b) 中的 A 、 B 、 C 、 D 等。(下面术语中均以图 5.1 (b) 为例来说明)
(2)结点的度:结点拥有的子树数称为结点的度。例如,A的度为 3, C的度为l, F的度为0。
(3)树的度:树的度是树内各结点度的最大值。图 5.1 (b) 所示的树的度为3。
(4) 叶子: 度为 0 的结点称为叶子或终端结点。结点 K 、 L 、 F 、 G 、 M 、 I 、 J都是树的叶子。
(5) 非终端结点:度不为 0 的结点称为非终端结点或分支结点。除根结点之外,非终端结点也称为内部结点。
(6)双亲和孩子:结点的子树的根称为该结点的孩子,相应地,该结点称为孩子的双亲。例如,B的双亲为A, B的孩子有E和F。
(7) 兄弟:同一个双亲的孩子之间互称兄弟。例如,H 、 I 和J互为兄弟。
(8) 祖先:从根到该结点所经分支上的所有结点。例如, M 的祖先为 A 、 D 和H。
(9) 子孙:以某结点为根的子树中的任一结点都称为该结点的子孙。如 B 的子孙为E 、 K 、 L 和F。
(10) 层次:结点的层次从根开始定义起,根为 第一层,根的孩子为第二层。树中任一结点的层次等千其双亲结点的层次加 l。
(11)堂兄弟:双亲在同 一层的结点互为堂兄弟。例如,结点 G 与E 、 F、 H 、 I 、 J互为堂兄弟。
(12)树的深度:树中结点的最大层次称为树的深度或高度。图5.1 (b)所示的树的深度为4。
(13)有序树和无序树:如果将树中结点的各子树看成从左至右是有次序的(即不能互换),则称该树为有序树,否则称为无序树。在有序树中最左边的子树的根称为第一个孩子,最右边的称为最后一个孩子。
(14)森林:是 m (m>=0)棵互不相交的树的集合。对树中每个结点而言,其子树的集合即为森林。由此,也可以用森林和树相互递归的定义来描述树。
二、二叉树(Binary Tree)
1.有序树
2.结点的度小于等于2。
二叉树的性质:
1.二叉树第i层最多有2的i-1次方个结点,最少有1个结点。
2.深度为k的二叉树最多有2的k次方-1个结点,至少有k个结点。
3.度为2的结点数有n个,叶子数为n+1个。
三、满二叉树和完全二叉树
-满二叉树:深度为k且有2的k次方-1个结点的二叉树
-完全二叉树(详细图解):除最后一层层外,其它各层的结点数都达到最大个数,度为1的结点只能有左子树。
百度
完全二叉树的性质:
1.具有n个结点的完全二叉树的深度为[log2n]+1。
2.完全二叉树,对于编号为i的结点,左子树为2i,右子树为2i+1。

原创文章 27 获赞 2 访问量 1128

猜你喜欢

转载自blog.csdn.net/liudachu/article/details/105664935