完全二叉树与完全二叉树
二叉树是指每个节点都有一个或两个子节点的树。在二叉树中,一个节点不能有两个以上的子节点。在二叉树中,子项被命名为“左”和“右”子项。子节点包含对其父节点的引用。完全二叉树是一种二叉树,除最后一级外,二叉树的每一级都被完全填满。从最左边的位置开始连接节点。完整二叉树是一种树,其中除了树的叶子外,树中的每个节点都有两个子树。
什么是完全二叉树?
完全二叉树是一种二叉树,树中的每个节点都有零或两个子节点。换句话说,树中除了叶子之外的每个节点都有两个子节点。下面的图1描述了一个完整的二叉树。在一个完整的二叉树中,节点数(n)、从节点数(l)和内部节点数(i)以一种特殊的方式相关,如果您知道其中任何一个,则可以确定其他两个值,如下所示:
1如果完整的二叉树有i个内部节点:
–叶数l=i+1
–节点总数n=2*i+1
2如果完整的二叉树有n个节点:
–内部节点数i=(n-1)/2
–叶数l=(n+1)/2
三。如果一棵完整的二叉树有l叶:
–节点总数n=2*l-1
–内部节点数i=l-1
什么是完全二叉树?
如图2所示,完整的二叉树是一种二叉树,其中除了最后一级外,树的每一级都被完全填充。另外,在最后一级,节点应该从最左边的位置开始连接。高度h的完全二叉树满足以下条件:
–从根节点开始,最后一个级别以上的级别表示高度为h-1的完整二叉树
–最后一级的一个或多个节点可以有0或1个子节点
–如果a、b是上一级上的两个节点,则当且仅当a位于b的左侧时,a的子节点数多于b
完全二叉树和完全二叉树有什么区别?