C语言 什么叫完全二叉树?

 我来答
b94665
推荐于2018-03-30 · TA获得超过3845个赞
知道小有建树答主
回答量:1032
采纳率:83%
帮助的人:249万
展开全部

完全二叉树是一种特殊的二叉树。

定义:如果一棵具有n个结点的深度为k的二叉树,它的每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应,这棵二叉树称为完全二叉树。

例:

特点:

  1. 叶子结点只可能在最大的两层上出现,对任意结点,若其右分支下的子孙最大层次为L,则其左分支下的子孙的最大层次必为L 或 L+1。

  2. 完全二叉树第i层至多有2^(i-1)个节点,共i层的完全二叉树最多有2^i-1个节点。

满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。

匿名用户
2013-09-12
展开全部
在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的(i-1)次方个结点;深度为k的二叉树至多有2^(k) -1个结点;对任何一棵二叉树T,如果其终端结点数(即叶子结点数)为n0,度为2的结点数为n2,则n0 = n2 + 1。 树和二叉树的2个主要差别: 1. 树中结点的最大度数没有限制,而二叉树结点的最大度数为2; 2. 树的结点无左、右之分,而二叉树的结点有左、右之分。…… 树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形象表示。树在计算机领域中也得到广泛应用,如在编译源程序时,可用树表示源程序的语法结构。又如在数据库系统中,树型结构也是信息的重要组织形式之一。一切具有层次关系的问题都可用树来描述。 谢谢采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-12
展开全部
若二叉树除最后一层外,其它各层的结点数都达到最大个数,最后一层所有的节点都连续集中在最左边,这就是完全二叉树
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-12
展开全部
在二叉树中,一个根节点要么就没有叶子节点,要么就有两个叶子节点,不会出现只有一个叶子节点的根节点!不知道我这么说你能懂不?意思就是在完全二叉树中,有左叶子节点,就必然会有右叶子节点,如果没有左叶子节点,那么就永远不会出现右叶子节点!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-12
展开全部
除了叶子节点以外的每个节点都有两个子节点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式