首先我们会用尽量简洁的方式给同学们讲解下,尽量少用一些专业术语(避免有的同学有点蒙)
1.下图中就是一颗树,A、B、C、D这些称为结点,结点A下方有B和C共2个结点,我们称A的度为2,B下方有一个节点,称B的度为1,E下没有节点称E的度为0,又称度为0的结点为叶子节点,把A看成父亲,B看成儿子,所以可以称B为A的子结点
普通的树好现在我们已经掌握树、结点、子结点、结点的度的概念了
2.如下图我们观察到数的层次有4层,那么我们就称树的深度(或高度)为4,也就是最大层次数
3.好清楚了树的这些基本概念后,我们来讲讲二叉树
还是以下图来讲,下面这个树是二叉树吗,不是,为什么?
D节点下有3个结点了,所以不是,那什么是二叉树,就是说,每个结点下的子结点必须小于等于2,不能超过2,就是一个二叉树
这些概念清楚后看题
某棵树的度为4,且度为4、3、2、1的结点的个数分别为1、2、3、4,则该数中的叶子结点数为
A.8 B.10 C.9 D.11
解析:
公式:树中结点数 N = n0 * 0 + n1 * 1 + n2 * 2 + nx * x + 1,其中 n0 表示度数为0的结点个数,即叶子节点,n1为度数为1的结点个数,nx为度数为x的结点个数,一句话概括:结点的度数乘以结点的个数累加再加1等于整个树结点的个数
根据上述公式 N = 1 * 4 + 2 * 3 + 3* 2 + 4 * 1 + 1 = 21,其中 N = n0 + n1 + n2 + n3 + n4,又是一个公式记好了,即
N = 21 = 1 + 2 + 3 + 4 + n0,所以n0 = 21 - 10 = 11,总之一句话求结点个数,直接带入公式即可
二叉树的遍历
前序遍历:通俗来说就是从上到下,从左到右这个顺序遍历,看下图(方向有点糙,看懂就行),跟着我画的箭头方向走,前序遍历为:ABDGHCEF,一句话画图就能出来
前序遍历中序遍历:
网友评论