数据结构历年考研真题对应知识点(树的基本概念)

目录

5.1树的基本概念

5.1.2基本术语

【森林中树的数量、边数和结点数的关系(2016)】

5.1.3树的性质

【树中结点数和度数的关系的应用(2010、2016)】

【指定结点数的三叉树的最小高度分析(2022)】


5.1树的基本概念

5.1.2基本术语

下面结合图5.1中的树来说明一些基本术语和概念。

1)祖先、子孙、双亲、孩子、兄弟和堂兄弟。
祖先:考虑结点K,从根A到结点K的唯一路径上的所有其他结点,称为结点K的祖先。

子孙:如结点B是结点K的祖先,而K是B的子孙,结点B的子孙包括EFK.L。

双亲:路径上最接近结点K的结点E称为K的双亲,而K为E的孩子。根A是树中唯一没有双亲的结点。

兄弟:有相同双亲的结点称为兄弟,如结点K和结点L有相同的双亲E,即K和L为兄弟。

堂兄弟:双亲在同一层的结点互为堂兄弟,结点G与E,E,H,I,J互为堂兄弟。

2)结点的度和树的度。
树中一个结点的孩子个数称为该结点的度,树中结点的最大度数称为树的度。如结点B的度为 2,结点D的度为3,树的度为3。

3)分支结点和叶结点。
度大于0的结点称为分支结点(又称非终端结点);度为0(没有孩子结点)的结点称为叶结点(又称终端结点)。在分支结点中,每个结点的分支数就是该结点的度。

4)结点的深度、高度和层次。
结点的层次:从树根开始定义,根结点为第1层,它的孩子为第2层,以此类推。

结点的深度:就是结点所在的层次。

树的高度(或深度):是树中结点的最大层数。图5.1中树的高度为4

结点的高度:是以该结点为根的子树的高度。

5)有序树和无序树。
树中结点的各子树从左到右是有次序的,不能互换,称该树为有序树,否则称为无序树。

假设图 5.1为有序树,若将子结点位置互换,则变成一棵不同的树。

6)路径和路径长度。
树中两个结点之间的路径是由这两个结点之间所经过的结点序列构成的,而路径长度是路径上所经过的边的个数

注意:因为树中的分支是有向的,即从双亲指向孩子,所以树中的路径是从上向下的,同一双亲的两个孩子之间不存在路径。

7)森林

森林中树的数量、边数和结点数的关系(2016)

森林是 m(m≥0)棵互不相交的树的集合。森林的概念与树的概念十分相近,因为只要把树的根结点删去就成了森林。反之,只要给m棵独立的树加上一个结点,并把这 m棵树作为该结点的子树,则森林就变成了树。

注意:上述概念无须刻意记忆,根据实例理解即可。考研时不大可能直接考查概念,而都是结合具体的题目考查。做题时,遇到不熟悉的概念可以翻书,练习得多自然就记住了。

5.1.3树的性质

树具有如下最基本的性质:

树中结点数和度数的关系的应用(2010、2016)

1)树的结点数n等于所有结点的度数之和加1。
结点的度是指该结点的孩子数量,每个结点与其每个孩子都由唯一的边相连,因此树中所有结点的度数之和等于树中的边数之和。

树中的结点(除根外)都有唯一的双亲,因此结点数 n等于边数之和加1,即所有结点的度数之和加1。

2)度为m的树中第i层上至多有m^{i-1} 个结点(i => 1)。
第1层至多有1个结点(即根结点),第2层至多有m个结点,第3层至多有㎡个结点,以此类推。使用数学归纳法可推出第i层至多有m^{i-1}个结点。

3)高度为h的 m 叉树至多有(m^{h}-1) / (m-1)个结点。
当各层结点数达到最大时,树中至多有1+m+m^{2}+...+m^{h-1}=(m^{h}-1)/(m-1)个结点。

指定结点数的三叉树的最小高度分析(2022)

4)度为 m、具有n个结点的树的最小高度h为log_{m}(n(m-1)+1)
为使树的高度最小,在前 h-1 层中,每层的结点数都要达到最大,前 h-1 层最多有(m^{h-1}-1) / (m-1)个结点,前h层最多有(m^{h}-1) / (m-1)个结点。因此(m^{h-1}-1) / (m-1)<n\leqslant (m^{h}-1) / (m-1),即 h-1<log_{m}(n(m-1)+1)\leqslant h,

解得 h_{min}=\left \lceil log_{m}(n(m-1)+1) \right \rceil

5)度为 m、具有n个结点的树的最大高度h为n-m+1
由于树的度为 m,因此至少有一个结点有 m个孩子,它们处于同一层。为使树的高度最大,其他层可仅有一个结点,因此最大高度(层数)为n-m+1。由此,也可逆推出高度为 h、度为m的树至少有 h+m-1 个结点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/767410.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

win10显示毫秒-上午-下午及星期几,24小时制

关于毫秒 winr regedit 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced 新建ShowSecondsInSystemClock&#xff0c;编辑1显示&#xff0c;不显示就删了它 然后重启 资源管理器可能有多个全部重启&#xff0c;就可以啦 根据自己喜好…

【MySQL】表的操作{创建/查看/修改/删除}

文章目录 1.创建表1.1comment&#xff1a;注释信息1.2存储引擎 2.查看表3.修改表3.1add添加列&#xff0c;对原数据无影响3.2drop删除列3.3modify修改列类型3.4change修改列名3.5rename [to]修改表名 4.删除表5.总结 1.创建表 CREATE TABLE table_name (field1 datatype,field…

昇思MindSpore学习笔记3-02热门LLM及其他AI应用--K近邻算法实现红酒聚类

摘要&#xff1a; 介绍了K近邻算法&#xff0c;记录了MindSporeAI框架使用部分wine数据集进行KNN实验的步聚和方法。包括环境准备、下载红酒数据集、加载数据和预处理、搭建模型、进行预测等。 一、KNN概念 1. K近邻算法K-Nearest-Neighbor(KNN) 用于分类和回归的非参数统计…

2024年下半年系统集成项目管理工程师使用新版教材,该如何备考?

2024年下半年&#xff0c;新版的《系统集成项目管理工程师教程》&#xff08;第3版&#xff09;将被系统集成项目管理工程师使用。许多考生可能会感到迷茫&#xff0c;不知道该如何复习。毕竟教材更新后&#xff0c;以往的资料和真题都变得无用&#xff0c;重点内容和考试方向也…

llm学习-3(向量数据库的使用)

1&#xff1a;数据读取和加载 接着上面的常规操作 加载环境变量---》获取所有路径---》加载文档---》切分文档 代码如下&#xff1a; import os from dotenv import load_dotenv, find_dotenvload_dotenv(find_dotenv()) # 获取folder_path下所有文件路径&#xff0c;储存在…

OV SSL证书年度成本概览:为企业安全护航的经济之选

在当今数字化时代&#xff0c;企业网站不仅是品牌展示的窗口&#xff0c;更是与客户沟通的桥梁。然而&#xff0c;随着网络威胁的不断升级&#xff0c;保护网站安全成为了企业不可忽视的任务。SSL证书&#xff0c;特别是OV SSL证书&#xff0c;因其对企业身份的严格验证&#x…

Halcon OCR字符识别(极坐标转换,字符识别)

Halcon OCR字符识别&#xff08;极坐标转换&#xff0c;字符识别&#xff09; 代码 * 1.加载图片 *************************************************** dev_close_window () read_image (Image, ./img) get_image_size (Image, Width, Height) dev_get_window (WindowHandle…

聚鼎贸易:装饰画开店教程新手入门

当艺术遇上商业&#xff0c;每一幕交易皆是文化的交流。本篇将引领有志于开设装饰画店铺的新手们&#xff0c;迈入创业的门槛&#xff0c;以独特的视角和步骤&#xff0c;探索如何成功经营一家装饰画店。 精选货源乃基石。货源的选取不仅反映店主的品味&#xff0c;更直接影响到…

NPDP|产品经理的沟通协调能力:塑造产品成功的核心力量

在快速发展的商业环境中&#xff0c;产品经理的角色愈发重要。他们不仅要负责产品的战略规划、需求管理、项目管理&#xff0c;更要与团队内外各方进行有效的沟通协调。那么&#xff0c;产品经理的沟通协调能力到底有多重要呢&#xff1f;本文将深入探讨这一话题。 沟通是产品成…

使用css做一个旋转的八卦图

使用css做一个旋转的八卦图 1, html部分 <div class"tai"><div class"bai"></div><div class"hei"></div> </div>2, css部分 .tai{width: 200px;height: 200px;border: 1px solid #000;background: linea…

【Python机器学习】模型评估与改进——回归指标

对于回归问题&#xff0c;可以像分类问题一样进行详细评估&#xff0c;例如&#xff0c;对目标值估计过高与目标值估计过低进行对比分析。 但是&#xff0c;对于我们见过的大多数应用来说&#xff0c;使用默认就足够了&#xff0c;它由所有回归器的score方法给出。业务决策有时…

全面详解菲律宾slots游戏本土网盟广告CPI流量效果分析

全面详解菲律宾slots游戏本土网盟广告CPI流量效果分析 一、引言 随着互联网的普及和移动设备的广泛应用&#xff0c;网络游戏行业迅速崛起&#xff0c;成为全球娱乐市场的一大热门。菲律宾作为东南亚地区的重要国家&#xff0c;其网络游戏市场也呈现出蓬勃的发展势头。在这样的…

AI数字人直播源码出售价格公布!

随着数字人行业的兴起&#xff0c;以数字人直播为代表的应用场景逐渐成为人们日常生活中不可分割的一部分&#xff0c;再加上艾媒研究数据显示&#xff0c;超五成以上的被调查群体的企业使用过虚拟人技术&#xff0c;超三成被调查群体的企业计划使用虚拟人技术等结论的公布&…

网友炸锅:这款iPhone壳竟能直接放保时捷车钥匙?

在当今这个个性化消费时代&#xff0c;高端智能手机及其配件已经成为了展示个人身份和品味的重要途径。最近&#xff0c;一款专为保时捷车主量身定制的iPhone手机壳&#xff0c;在互联网上引发了广泛的关注和讨论。 这款手机壳不仅在设计上凸显了保时捷的品牌logo&#xff0c;…

游戏工作室如何巧妙应对IP封禁风险?

游戏工作室在使用IP时&#xff0c;面临着封号的风险&#xff0c;因此需要采取一些防封技巧来保护自己的运营。以下是一些游戏工作室常用的防封技巧。 1. 多IP轮换 游戏工作室可以使用多个代理IP&#xff0c;并定期轮换它们。这样做可以减少单个IP被频繁访问同一游戏服务器而被…

for循环中list触发fast-fail或不触发的原理和方法

Iterable和Iterator Iterator接口位于的位置是java.util.Iterator&#xff0c;它主要有两个抽象方法供子类实现。hasNext()用来判断还有没有数据可供访问&#xff0c;next()用来访问下一个数据。 集合Collection不是直接去实现Iterator接口&#xff0c;而是去实现Iterable接口…

Pycharm设置远程解释器(本地代码+远程服务器环境)

Pycharm设置远程解释器(本地代码+服务器环境) Pycharm设置远程开发环境: 1.点击IDE左上角“文件”-》点击其中的设置 2:点击项目->点击添加解释器 3: 4根据提示填入远程服务器的IP地址,端口,和用户名: 5:连接上后选择现有环境: 6:选择刚才建立好的conda环境…

ubnutu20.04-vscode安装leetcode插件流程

1.在vscode插件商城选择安装leetcode 2.安装node.js 官网下载一个版本安装流程&#xff1a; ①tar -xvf node-v14.18.0-linux-x64.tar.xz ①sudo ln -s /app/software/nodejs/bin/npm /usr/local/bin/ ②ln -s /app/software/nodejs/bin/node /usr/local/bin/ 查看版本&…

G1 垃圾收集器

从 JDK1.9 开始默认 G1&#xff0c;应用在多处理器和大容量内存环境中。 基础概念 Region G1 给整一块Heap内存区域均匀等分了N个 Region&#xff0c;N 默认情况下是 2048。 Region的大小只能是1M、2M、4M、8M、16M或32M (1-32M,并且为2的指数)&#xff0c;比如-Xmx16g -Xms…

【Unity 角色控制器组件】

【Unity 角色控制器组件】 Character Controller&#xff1a; Unity 内置的一个组件&#xff0c;用于提供高级的物理控制&#xff0c;允许开发者控制角色的移动、跳跃和碰撞。 csharp csharp // 假设你已经有了一个带有Character Controller组件的游戏对象// 获取Character Co…