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

本文介绍了树的数据结构,特别是二叉树的三种特殊类型:完美二叉树、完全二叉树和完满二叉树。完美二叉树每个非叶子节点都有两个子节点,且所有层级都被填满;完全二叉树除最后一层外,其余层级都是满的,叶子节点靠左排列;完满二叉树每个非叶子节点都有两个子节点,但最后一层不一定填满。这些特性在计算机科学中有着广泛应用。
摘要由CSDN通过智能技术生成

完美二叉树、完全二叉树和完满二叉树

完美(Perfect)二叉树,完全(Complete)二叉树和完满(Full)二叉树的区别。

树(Tree)

树是由结点或顶点和边组成的(可能是非线性的)且不存在着任何 的一种数据结构。没有结点的树称为空(null或empty)树。一棵非空的树包括一个根结点,还(很可能)有多个附加结点,所有结点构成一个多级分层结构。
在这里插入图片描述

树的基本术语

Root 根,树的顶端结点
Child 孩子,当远离根(Root)的时候,直接连接到另外一个结点的结点被称之为孩子(Child);
Parent 双亲,相应地,另外一个结点称为孩子(child)的双亲(parent)。
Siblings 兄弟,具有同一个双亲(Parent)的孩子(Child)之间互称为兄弟(Sibling)。
Ancestor 祖先,结点的祖先(Ancestor)是从根(Root)到该结点所经分支(Branch)上的所有结点。
Descendant 子孙,反之,以某结点为根的子树中的任一结点都称为该结点的子孙(Ancestor)。
Leaf 叶子(终端结点)没有孩子的结点(也就是度为0的结点)称为叶子(Leaf)或终端结点。
Branch 分支(非终端结点) 至少有一个孩子的结点称为分支(Branch)或非终端结点。
Degree 度,结点所拥有的子树个数称为结点的度(Degree)。
Edge 边,一个结点和另一个结点之间的连接被称之为边(Edge)。
Path 路径,连接结点和其后代的结点之间的(结点,边)的序列。
Level 层次,结点的层次(Level)从根(Root)开始定义起,根为第0层,根的孩子为第1层。以此类推,若某结点在第i层,那么其子树的根就在第i+1层。
Height of node 结点的高度是该结点和某个叶子之间存在的最长路径上的边的个数。
Height of tree 树的高度是其根结点的 高度
Depth of node 结点的 深度 是从树的根结点到该结点的边的个数。(注:树的深度指的是树中结点的最大层次。)
Forest 森林是n(>=0)棵互不相交的树的集合。

二叉树(Binary Tree)

每个结点至多拥有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。

二叉树的性质

(1)若二叉树的层次从 0 开始,则在二叉树的第i层至多有 2i 个结点(i>=0)。
(2)高度为 k 的二叉树最多有 2(k+1) - 1 个结点(k>=-1)。 (空树的高度为-1)
(3)对任何一棵二叉树,如果其叶子结点(度为 0) 数为 m, 度为2的结点数为n, 则 m = n + 1。

完美二叉树(Perfect Binary Tree)

一个深度为k(>=-1)且有 2(k+1)- 1 个结点的二叉树称为完美二叉树。 满二叉树

图片名称

完全二叉树(Complete Binary Tree)

完全二叉树从根结点到倒数第二层满足完美二叉树,最后一层可以不完全填充,其叶子结点都靠左对齐。

图片名称

完满二叉树(Full Binary Tree)

所有非叶子结点的度都是 2。(只要你有孩子,你就必然是有两个孩子。)

图片名称

完满(Full)二叉树 完全(Complete)二叉树 完美(Perfect)二叉树

【图片来源: http://www.csie.ntnu.edu.tw/~u91029/BinaryTree2.png】
Perfect Binary Tree 除了叶子结点之外的每一个结点都有两个孩子,每一层(当然包含最后一层)都被完全填充。
Complete Binary Tree 除了最后一层之外的其他每一层都被完全填充,并且所有结点都保持向左对齐。
Full/Strictly Binary Tree 除了叶子结点之外的每一个结点都有两个孩子结点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值