二叉树,完美二叉树,满二叉树,完全二叉树

孤人 提交于 2020-01-13 14:15:41

二叉树

在计算机科学中,二叉树是每个结点最多有两个子树的树结构

下面这个就不是二叉树,B节点下面右3个子节点
在这里插入图片描述

满二叉树与完美二叉树

国内的翻译和国外是有些对不上的\

完美二叉树

英文: Perfect Binary Tree, 有时候在国内就叫满二叉树

除了叶子结点之外的每一个结点都有两个孩子,每一层(当然包含最后一层)都被完全填充
在这里插入图片描述

满二叉树

英文: Full Binary Tree

除了叶子结点之外的每一个结点都有两个孩子结点( 只要你有孩子,你就必然是有两个孩子)
在这里插入图片描述

国内早期教材中,满二叉树一般指 perfect binary tree,所以会有满二叉树是完全二叉树的一个特例的说法

完全二叉树

除了最后一层之外的其他每一层都被完全填充,并且所有结点都保持向左对齐

在这里插入图片描述

完全二叉树的向左对齐

有点令人困惑, 英文的描述为:

Every level except the last level is completely filled and all the nodes are left justified.

  1. 第 h 层所有的结点都连续集中在最左边,这就是完全二叉树
  2. 如果将编号11(K)结点从编号6(E)的左儿子位置移动到编号5(E)的右儿子位置,则变成一棵完全(Complete)二叉树。
    在这里插入图片描述
    结论就是: 向左对齐,就是要全部靠左边且连续,上图就是很好的反例,也可以理解为把perfect binary tree 从右向左挨个去掉.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!