04树 + 堆 + 优先队列 + 图(D1_树(D1_基本介绍))
目录
一、什么是树?
二、相关术语
根结点
边
叶子结点
兄弟结点
祖先结点
结点的大小
树的层
结点的深度
结点的高度
树的高度
斜树
一、什么是树?
树是一种类似于链表的数据结构,不过链表的结点是以线性方式简单地指向其后继结点,而树的一
个结点可以指向许多个结点。
树是一种典型的非线性结构。
树结构是表达具有层次特性的图结构的一种方法。
对于树ADT(抽象数据类型),元素的顺序不是考虑的重点。
如果需要用到元素的顺序信息,那么可以使用链表、栈、队列等线性数据结构。
二、相关术语

根结点
根节点:根结点是一个没有双亲结点的结点。一棵树中最多有一个根结点(如上图的结点 A 就是根结点)。
边
边:边表示从双亲结点到孩子结点的链接(如上图中所有的链接)。
叶子结点
叶子节点:没有孩子结点的结点叫作叶子结点(如E、J、K、H和I)。
兄弟结点
兄弟结点:拥有相同双亲结点的所有孩子结点叫作兄弟结点(B、C、D是A的兄弟结点,E、F是B的
兄弟结点
祖先结点
祖先结点:如果存在一条从根结点到结点q的路径,且结点力出现在这条路径上,
那么就可以把结点力叫作结点q的祖先结点,结点q也叫作力的子孙结点。例如,A、C和G是K的祖
先结点。
结点的大小
结点的大小:结点的大小是指子孙的个数,包括其自身。(子树C的大小为3)。
树的层
树的层:位于相同深度的所有结点的集合叫作树的层(B、C和D具有相同的层)。
根结点位于0层。

结点的深度
结点的深度:是指从根结点到该结点的路径长度(G点的深度为2,A-C-G)。
结点的高度
结点的高度:是指从该结点到最深结点的路径长度。树的高度是指从根结点到树中最深结点的路径
长度。
只含有根结点的树的高度为 0。在前面的例子中,B的高度为2(B-F-J)。
树的高度
树的高度:是树中所有结点高度的最大值,树的深度是树中所有结点深度的最大值。
对于同一棵树,其深度和高度是相同的。但是对于各个结点,其深度和高度不一定相同。
斜树
斜树:如果树中除了叶子结点外,其余每一结点只有一个孩子结点,则这种树称作斜树。
对于每个结点仅有一个左孩子结点的树叫作左斜树。类似地,对于每个结点仅有右孩子结点的树叫
作右斜树。

相关文章:
04树 + 堆 + 优先队列 + 图(D1_树(D1_基本介绍))
目录 一、什么是树? 二、相关术语 根结点 边 叶子结点 兄弟结点 祖先结点 结点的大小 树的层 结点的深度 结点的高度 树的高度 斜树 一、什么是树? 树是一种类似于链表的数据结构,不过链表的结点是以线性方式简单地指向其后继结…...
【Proteus仿真】【51单片机】多功能计算器系统设计
目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 联系作者 一、主要功能 1、LCD1602液晶显示 2、矩阵按键 3、加减乘除,开方运算 4、带符号运算 5、最大 999*999 二、使用步骤 基于51单片机多功能计算器 包含:程序&…...
Solon Cloud Gateway 开发:Route 的配置与注册方式
路由的配置与注册有三种方式:手动配置;自动发现配置;代码注册。 1、手动配置方式 solon.cloud.gateway:routes: #!必选- id: demotarget: "http://localhost:8080" # 或 "lb://user-service"predicates: #?可选- &quo…...
jstat命令详解
jstat 用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运行数据。 命令的使用格式如下。 jstat [option] LVMID [interval] [count]各个参数详解: option:操作参数LVMID:本…...
[Collection与数据结构] B树与B+树
🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…...
Ubuntu 24.04 安装 NVIDIA Container Toolkit 全指南:让Docker拥抱GPU
Ubuntu 24.04 安装 NVIDIA Container Toolkit 全指南:让Docker拥抱GPU 前言一、环境准备1.1 验证驱动状态 二、安装NVIDIA Container Toolkit2.1 添加官方仓库2.2 执行安装 三、配置Docker运行时3.1 更新Docker配置 四、验证安装结果4.1 运行测试容器 五、实战应用 …...
17.Word:李楠-学术期刊❗【29】
目录 题目 NO1.2.3.4.5 NO6.7.8 NO9.10.11 NO12.13.14.15 NO16 题目 NO1.2.3.4.5 另存为手动/F12Fn光标来到开头位置处→插入→封面→选择花丝→根据样例图片,对应位置填入对应文字 (手动调整即可)复制样式:开始→样式对话框→管理…...
图漾相机——C++语言属性设置
文章目录 前言1.SDK API功能介绍1.1 Device组件下的API测试1.1.1 相机工作模式设置(TY_TRIGGER_PARAM_EX)1.1.2 TY_INT_FRAME_PER_TRIGGER1.1.3 TY_INT_PACKET_DELAY1.1.4 TY_INT_PACKET_SIZE1.1.5 TY_BOOL_GVSP_RESEND1.1.6 TY_BOOL_TRIGGER_OUT_IO1.1.…...
【性能优化专题系列】利用CompletableFuture优化多接口调用场景下的性能
背景说明 在实际的软件开发中,我们经常会遇到需要批量调用接口的场景。例如,电商系统在生成商品详情页时,需要同时调用多个服务接口来获取商品的基本信息、库存信息、价格信息、用户评价等。 传统的依次调用方式存在性能问题 面对上述场景…...
docker安装emqx
emqx安装 拉取emqx镜像 docker pull emqx/emqx:v4.1.0 运行docker容器 docker run -tid --name emqx -p 1883:1883 -p 8083:8083 -p 8081:8081 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v4.1.0 放行端口 1、如果要是自己的虚拟机,并且关闭了防火墙&a…...
DeepSeek超越ChatGPT的能力及部分核心原理
DeepSeek超越ChatGPT的能力及部分核心原理 目录 DeepSeek超越ChatGPT的能力及部分核心原理超越ChatGPT的能力核心原理超越ChatGPT的能力 推理计算能力更强:在复杂的数学计算、法律文件审查等任务中,DeepSeek的推理能力可媲美甚至超越部分国际顶尖AI模型,包括ChatGPT。例如在…...
Leetcode 3434. Maximum Frequency After Subarray Operation
Leetcode 3434. Maximum Frequency After Subarray Operation 1. 解题思路2. 代码实现 题目链接:3434. Maximum Frequency After Subarray Operation 1. 解题思路 这一题的话我们只需要考察所有的数 i i i转换为 k k k时所能够形成的最大的值。 而对于这个问题&…...
《DeepSeek-R1 问世,智能搜索领域迎来新变革》
DeepSeek-R1是由DeepSeek公司开发的一款创新型人工智能模型,自2024年5月7日发布以来,迅速在AI领域引起广泛关注。该模型凭借其卓越的语言理解能力、高效的数据处理能力、自适应学习能力、高安全性与可靠性以及广泛的应用场景与拓展性,在众多人…...
GEE | 植被总初级生产力GPP的时间变化特征
同学们好,这期我们分享的是植被总初级生产力GPP的日、月、生长季和年变化趋势代码。我们选用的数据集是MODIS/061/MOD17A2HGF,该产品时间跨度为2000-至今,空间分辨率500米,时间分辨率8天。 其中我们把生长季时间设置为了5-9月份&…...
安卓(android)饭堂广播【Android移动开发基础案例教程(第2版)黑马程序员】
一、实验目的(如果代码有错漏,可查看源码) 1.熟悉广播机制的实现流程。 2.掌握广播接收者的创建方式。 3.掌握广播的类型以及自定义官博的创建。 二、实验条件 熟悉广播机制、广播接收者的概念、广播接收者的创建方式、自定广播实现方式以及有…...
本地部署DeepSeek
1、打开ollama,点击“Download” Ollamahttps://ollama.com/ 2、下载完成后,安装ollama.exe 3、安装完成后,按"windowsR",输入"cmd” 4、输入“ollama -v”,查看版本,表示安装成功 5、返回ollama网页,…...
赛博算卦之周易六十四卦JAVA实现:六幺算尽天下事,梅花化解天下苦。
佬们过年好呀~新年第一篇博客让我们来场赛博算命吧! 更多文章:个人主页 系列文章:JAVA专栏 欢迎各位大佬来访哦~互三必回!!! 文章目录 #一、文化背景概述1.文化起源2.起卦步骤 #二、卦象解读#三、just do i…...
Hive:窗口函数(1)
窗口函数 窗口函数OVER()用于定义一个窗口,该窗口指定了函数应用的数据范围 对窗口数据进行分区 partition by 必须和over () 一起使用, distribute by经常和sort by 一起使用,可以不和over() 一起使用.DISTRIBUTE BY决定了数据如何分布到不同的Reducer上…...
docker安装nacos2.2.4详解(含:nacos容器启动参数、环境变量、常见问题整理)
一、镜像下载 1、在线下载 在一台能连外网的linux上执行docker镜像拉取命令 docker pull nacos:2.2.4 2、离线包下载 两种方式: 方式一: -)在一台能连外网的linux上安装docker执行第一步的命令下载镜像 -)导出 # 导出镜像到…...
基于PLC的变频调速系统设计
摘要 现代科技发展迅速,特别是通讯技术的发展,工业现场提供了便捷的数据交互和控制的手段,将工业现场的仪表、驱动器、控制器以及上位机之间进行通讯连接,进行相互信息交互,数据准确高效的传送,并且对现场的…...
三步打造个性化Windows任务栏:TranslucentTB效率工具完全指南
三步打造个性化Windows任务栏:TranslucentTB效率工具完全指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是否曾觉得Wi…...
Lingbot-Depth-Pretrain-ViTL-14在互联网内容审核中的深度场景理解应用
Lingbot-Depth-Pretrain-ViTL-14在互联网内容审核中的深度场景理解应用 每天,互联网上都会产生数以亿计的图片和视频。对于平台的内容审核团队来说,这既是流量的盛宴,也是巨大的挑战。传统的审核方式,无论是依赖人工还是基于二维…...
别再只盯着EMD了!滚动轴承故障诊断,试试VMD和MCKD这些新方法(附Python代码对比)
滚动轴承故障诊断:VMD与MCKD的实战对比与Python实现 滚动轴承作为旋转机械的核心部件,其健康状态直接影响设备运行安全。传统经验模态分解(EMD)虽广泛应用,但在处理强噪声和非平稳信号时存在明显局限。本文将深入解析变…...
Unity渲染流水线中的NDC空间:从齐次裁剪到屏幕坐标的完整转换指南
Unity渲染流水线中的NDC空间:从齐次裁剪到屏幕坐标的完整转换指南 在Unity引擎的渲染流水线中,理解NDC(归一化设备坐标)空间的作用至关重要。这个看似抽象的概念,实际上决定了3D场景如何最终呈现在2D屏幕上。对于想要深…...
Qwen3-TTS开源大模型实战:复古HUD界面下的AI语音创作工作流
Qwen3-TTS开源大模型实战:复古HUD界面下的AI语音创作工作流 1. 引言:当AI语音合成遇上复古游戏风 想象一下,你不再需要面对枯燥的音频参数调节界面,而是走进一个像素风的游戏世界。在这里,生成一段AI语音就像玩一款复…...
Gitee团队协作实战:从零到一掌握项目协同开发流程
1. 为什么选择Gitee进行团队协作开发 作为一个经历过多次团队协作开发的老手,我强烈推荐Gitee作为国内团队的代码托管平台。相比其他平台,Gitee的服务器在国内,访问速度更快,而且完全符合国内开发者的使用习惯。记得我第一次带团队…...
眼图分析:高速数字信号完整性的关键工具
1. 眼图基础概念解析 眼图(Eye Diagram)是数字信号完整性分析中最重要的工具之一。作为一名硬件工程师,我每天都会用眼图来评估信号质量。简单来说,眼图就是将数字信号在时间轴上重复叠加后形成的图形,因其形状类似人眼…...
提升物业服务满意度的物业管理小程序
一、首页核心服务入口基础功能模块:物业缴费、我的房产、通知公告、投诉建议、维修申报、小区活动、家政服务、优惠好物,覆盖业主日常高频需求信息与活动展示:顶部搜索栏:支持关键词检索,快速定位所需服务物业公告&…...
seo文章生成工具的原理是什么
SEO文章生成工具的原理是什么? 随着互联网的发展,SEO(搜索引擎优化)在网站运营中的重要性愈加凸显。在这个过程中,SEO文章生成工具逐渐成为许多网站管理者的利器。这些工具究竟是如何运作的呢?本文将详细解…...
ostringstream清空缓存的正确姿势:str()与clear()的深度解析
1. 为什么ostringstream清空缓存这么让人困惑? 第一次用ostringstream的时候,我也被它坑过。记得当时写了个日志记录功能,反复往同一个ostringstream对象里写入内容,结果发现每次输出的日志都越积越长。我本能地调用了clear()&…...
