二叉树的分类

完美二叉树(perfect binary tree)
官方定义:
一个深度为k(>=-1)且有2^(k+1) - 1个结点的二叉树称为完美二叉树。
A Perfect Binary Tree(PBT) is a tree with all leaf nodes at the same depth. All internal nodes have degree 2.
个人白话理解:就是在二叉树的基础上,每一层都塞满了结点,没有空着的。如下图所示
没有找到好的画二叉树的插件,这树比较歪,将就看一下了😆

(完美二叉树 perfect binary tree)
完全二叉树(complety binary tree)
官方定义:
完全二叉树从根结点到倒数第二层满足完美二叉树,最后一层可以不完全填充,其叶子结点都靠左对齐。
A Complete Binary Tree (CBT) is a binary tree in which every level, except possibly the last, is completely filled, and all nodes are as far left as possible.
个人白话理解:除了最后一层,从根到倒数第二层就是个完美二叉树(perfect binary tree)。只是最后一层的结点可以不完全占满,并且靠左,如下图

(完全二叉树 complety binary tree)
完满二叉树(full binary tree)
官方定义:
所有非叶子结点的度都是2。(只要你有孩子,你就必然是有两个孩子。)
A Full Binary Tree (FBT) is a tree in which every node other than the leaves has two children.
个人白话理解:每个结点如果有子结点,则必然是2个。只有这一个要求,其他的随便什么形状,当然前提得是二叉树。

二叉树的遍历
所谓的前序、中序、后续都是以根节点作为位置标准的。如前序就是先根节点,在左子节点,最后右子结点。中序就是根节点在中间,即先左子结点再根节点最后右子结点。后续就是根节点放最后,即先左子结点再右子结点最后根节点。
以实际例子来看,如下图的前中后序遍历分别是

- 前序遍历 ABDEFGC
- 中序遍历 DBFEGAC
- 后续遍历 DFGEBCA
浙公网安备 33010602011771号