二叉树(Binary Tree)

二叉树(Binary Tree)

二叉树的定义

二叉树(Binary Tree)是另一种树型结构,它的特点是每个结点至多只有二棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。

二叉树(Binary Tree)_第1张图片

二叉树结点的子树要区分左子树和右子树,即使只有一棵子树也要进行区分,说明它是左子树,还是右子树这是二叉树与树的最主要的差别。图6.4列出二叉树的5种基本形态,图6.4(C) 和图6.4(d)是不同的两棵二叉树。因此二叉树具有五种基本形态,如图6.4所示:

二叉树(Binary Tree)_第2张图片


满二叉树

一棵深度(高度)为k,且有2^k-1个节点称之为满二叉树;

在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子结点都在同一层上,这样的一棵二叉树称作满二叉树。如图6.5所示,(a)图就是一棵满二叉树,(c)图则不是满二叉树,因为,虽然其所有结点要么是含有左右子树的分支结点,要么是叶子结点,但由于其叶子未在同一层上,故不是满二叉树。

二叉树(Binary Tree)_第3张图片

完全二叉树

完全二叉树(complete Binary  Tree):深度(高度)为k,有n个节点的二叉树,当且仅当其每一个节点都与深度(高度)为k的满二叉树中,序号为1至n的节点对应时,称之为完全二叉树。

完全二叉树至多只有在最下面的两层上有叶子结点出现,并且最下一层上的结点都集中在该层最左边的若干位置上。

显然,一棵满二叉树必定是一棵完全二叉树,而完全二叉树未必是满二叉树。如图6.5所示(b)为一棵完全二叉树,(c)和(d)都不是完全二叉树。

==================END==================

你可能感兴趣的:(二叉树(Binary Tree))