树、二叉树分类以及内部节点的关系

 我来答
新科技17
2022-06-12 · TA获得超过5907个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:75.2万
展开全部
按照分类可以分为以下几种:

二叉树是树中常用的结构,它有着如下的几个特性(假定 层数i是从1 开始):

二叉树又分为以下几种类型:

注意:

注意:
假如 完全二叉树 的高度为 h(h >= 1) ,总结点个数 n 个,那么有着以下重要特性:

一棵有n个节点的完全二叉树( n > 0 ),从上到下、从左到右对节点从 1 开始进行编号,对任意第 i 个节点

如果一棵完全二叉树有768个节点,那么叶子节点的个数是多少?
假设叶子度为 0 的节点个数为 n0 ,度为 1 的节点个数为 n1 ,度为 2 的节点个数为 n2 ,那么总结点个数有这如下关系:

由于完全二叉树度为 1 的数量要么是 0 ,要么是 1 ,所以这里分为两种情况:

大致也能得出结论,总节点如果是奇数,那么叶子节点 n0 = (n + 1) / 2 ,为偶数的时候,叶子节点个数为 n0 = n / 2

在计算的时候可以简化两种情况,因为最终获取的内容为整数,所以如果 统一两种行为 ,可以选择 统一使用奇数情况 计算,也即 n0 = (n + 1) / 2 。这个计算方法在节点数为奇数的情况下是没有问题的,但是如果是偶数的情况下,结果会出现小数,多出的小数实际上在偶数情况下是不需要的,为了容错,所以此时可以采取向下取整的方式 将小数舍弃 ,进而进行 偶数的容错 ,从而达到 两种情况兼容 的目的。

所以最终的方法可以通用以下的方式来算出度为0的节点个数:
floor((n + 1) >> 1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式