一、XX二叉树
英语里的Full/Complete/Perfect Binary Tree是比较统一的,但是英译中的争论由来已久,最常见的是Full Binary Tree被吃了,Perfect Binary Tree译为满二叉树;有些地方则是Perfect Binary Tree译为完全二叉树,Complete Binary Tree译为满二叉树,并且好像两种译法都不在少数。除此之外,平衡二叉树与AVL树也在很多人甚至很多书里混为一谈。下面这种译法反而罕见(我基本上没见过翻译“完美二叉树”的),但P6174觉得这种译法才是最标准的,所以在此说明,以后的博客涉及这几种树时的译法如下:
根据美国国家标准技术研究所(NIST)的定义,
- 满二叉树 (Full Binary Tree):
要么是叶子结点(结点的度为0),要么结点同时具有左右子树(结点的度为2)。 - 完全二叉树 (Complete Binary Tree):
除最后一层外的每层结点都完全填满,在最后一层上如果不是满的,则只缺少右边的若干结点。 - 完美二叉树 (Perfect Binary Tree):
所有的非叶子结点都有两个孩子,所有的叶子结点都在同一层。即每层结点都完全填满。 - 平衡二叉树 (Balanced Binary Tree):
所有的叶子结点到根结点的距离之差不超过一个定值,增删结点后可能会通过“旋转”再次平衡。 - AVL树 (AVL Tree):
它是一棵平衡二叉搜索树,且它的左右两个子树的高度差不超过1,并且左右两个子树都是一棵AVL树。
第4个自己渣翻,另外4个翻译来源于https://www.zhihu.com/question/19809666/answer/88158084作者:@灰杉树
二、