数据结构-5.1.树的定义和基本术语


一.树的基本概念:

1.根结点:最顶层的结点,有且仅有一个,没有前驱;

2.叶子结点:不能再有子结点,没有后继;

3.结点:用于存数据;

4.也有前驱和后继的说法;

上述图片中的不是树,是网或者图;

5.总结:


二.树形逻辑结构的应用:


三.结点之间的关系描述:

1.祖先结点:从所指节点上方开始,沿一个方向一直到根结点之间(包括根结点)所遇到的结点都是祖先结点:

如:结点"你"的祖先结点有"父亲"和"爷爷";

2.子孙结点:从一个结点出发,他的所有分支以及他的分支的分支,一直到没有分支时的所有结点:

如:结点"父亲"的子孙结点有"你","K","L"和"F";

3.双亲结点(父结点/前驱结点):如结点"你"的双亲结点为"父亲";

4.孩子结点(后继结点):如结点"你"的孩子结点为"K"和"L";

5.兄弟结点:一个父结点的同一层中所有子结点(子结点的子结点不算)互为兄弟结点:

如结点"爷爷"的子结点中结点为"父亲","二叔","三叔"互为兄弟结点;

6.堂兄弟结点:同一层中,父结点不同的子结点互为堂兄弟结点:

如:结点"G"和"H"互为堂兄弟结点;

7.两个结点之间的路径只能从上往下,且往一个方向走,因此比如从结点"你"到结点"G"是没有路径的,因为不能向上走;

8.路径长度就是经过几条边,比如结点"爷爷"到"你"的路径长度为2;


四.结点,树的属性描述:

结点的层次默认从1开始,有时可能从0开始;高度默认从1开始;

1.上述图片中结点E的层次为3(从上往下数),高度为2(从下往上数),整个数的高度为4;

2.结点C只有一个分支G,因此结点C的度为1,同理B结点有两个分支E和F,因此B结点的度为2,M结点的度为0;

3.上述图片中的树的度为3,因为各个结点的分支数量构成的集合中,最大值为3


五.有序树 V.S 无序树:


六.树 V.S 森林:


七.总结:


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot快速入门:HelloWorld示例

Spring Boot是一个非常流行,受欢迎的框架,它不仅常用于构建传统的单体式MVC应用程序,同时也非常适合用于搭建微服务架构。对于 Web 应用程序,Spring Boot 提供了用于创建 REST API、处理 HTTP 请求和使用 Thymeleaf 等模板引擎呈现…

介绍一下SAP 函数 NUMBER_GET_NEXT的妙用——获取SAP编码OBJECT

NUMBER_GET_NEXT 是 SAP 中用于获取下一个可用编号的函数模块,通常用于生成唯一的编号或序列号。这个函数模块的妙用在于它能够确保编号的唯一性和连续性,适用于需要生成订单号、发票号或其他业务对象编号的场景。 我在写ABAP程序时经常要调用这个函数来…

Oracle 数据库安装及配置

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

LSTM的变体

一、GRU 1、什么是GRU 门控循环单元(GRU)是一种循环神经网络(RNN)的变体,它通过引入门控机制来控制信息的流动,从而有效地解决了传统RNN中的梯度消失问题。GRU由Cho等人在2014年提出,它简化了…

45岁被裁员的程序员,何去何从?

在当今快速变化的技术行业,职业生涯的稳定性受到挑战。在45岁被裁员,对很多程序员来说,可能是一种惊慌失措的体验。然而,这个阶段也可以被视为一个重新审视和调整方向的机会。本文将对可能的出路进行全方位的分析,并提…

PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程

介绍: 真正的好东西,搞网站优化seo从业必备。可以快速提升网站权重,带来的流量哗哗的 PHP泛目录生成源码 可生成新闻页面和关键词页面 带使用方法视频教程 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果…

[简单实践]Noisy Print - 自制基于加性噪声模型的简易降噪器

NoisyPrint 最近在学习的过程中,突然想起一个在Adobe Audition中用过的功能。 为什么会想到这个功能呢,因为在我使用DeepFilter的过程中,我发现对于一些低信噪比的信号来说,DeepFilter很容易出现过拟合现象,导致音源…

使用Git生成SSH密钥教程(附Git常用命令)

一、为什么使用SSH? 使用 Git 的 SSH(安全外壳协议)主要有以下几个原因:1. 安全性:SSH 是一种加密的网络协议,用于在网络中安全地运行网络服务。使用 SSH,所有传输的数据都会被加密&#xff0c…

Mysql高级篇(下)——数据库备份与恢复

Mysql高级篇(下)——数据库备份与恢复 一、物理备份与逻辑备份1、物理备份2、逻辑备份3、对比4、总结 二、mysqldump实现逻辑备份1、mysqldump 常用选项2、mysqldump 逻辑备份语法(1)备份一个数据库(2)备份…

微服务架构---认识Zuul

目录 认识Zuul简单的例子 第一个Zuul程序步骤1:创建父工程zuul-1步骤2:创建HystrixController类步骤3:搭建服务消费者eureka-consumer项目(1)创建一个config包,在config包下新建配置类RestConfig&#xff0…

HCIP-HarmonyOS Application Developer 习题(八)

(填空)1、声明式开发范式中使用装饰器( )装饰的结构体具有组件化能力,能够成为一个自定义组件。 答案:component 分析:component 装饰的struct表示该结构体具有组件化能力,能够成为一个独立的组件&#xff…

基于springboot的篮球竞赛预约平台

作者:计算机搬砖家 开发技术:SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:Java精选实战项…

【C++篇】继承之韵:解构编程奥义,领略面向对象的至高法则

文章目录 C 继承详解:初阶理解与实战应用前言第一章:继承的基本概念与定义1.1 继承的概念1.2 继承的定义 第二章:继承中的访问权限2.1 基类成员在派生类中的访问权限2.2 基类与派生类对象的赋值转换2.2.1 派生类对象赋值给基类对象2.2.2 基类…

OkHttp

OkHttp是一个用于Android和Java应用的高效HTTP客户端库。它具有以下优点: 优点 高效连接池: 支持连接复用(Connection Pooling)减少延迟。有效管理HTTP/2多路复用。 透明压缩: 自动处理Gzip压缩,减少传输…

Label Studio 半自动化标注

引言 Label Studio ML 后端是一个 SDK,用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例,以自动执行标记任务。我们提供了一个示例模型库,您可以在自己的工作流程中使用这些模型,也可以根据需要进行扩展和自定义。 1…

dotnet7==windows ZIP方式安装和web demo和打包

下载ZIP Download .NET 7.0 (Linux, macOS, and Windows) 解压 创建项目 mkdir MyWebApp cd MyWebApp "C:\Users\90816\Downloads\dotnet-sdk-7.0.317-win-x64\dotnet.exe" new webapp -n MyWebApp 运行项目 "C:\Users\90816\Downloads\dotnet-sdk-7.0.317-…

k8s的简介和部署

一、k8s简介 在部署应用程序的方式上面,主要经历了三个阶段: 传统部署:互联网早期,会直接将应用程序部署在物理机上优点:简单,不需要其它技术的参与缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源&…

Docker 实践与应用举例

Docker 实践与应用举例 Docker 已经成为现代软件开发和部署中的重要工具,通过容器化技术,开发者可以轻松管理应用的依赖环境、简化部署流程,并实现跨平台兼容性。本篇博客将详细介绍 Docker 的基本概念、实践操作以及应用场景,帮…

【软件部署安装】OpenOffice转换PDF字体乱码

现象与原因分析 执行fc-list查看系统字体 经分析发现,linux默认不带中文字体,因此打开我们本地的windows系统的TTF、TTC字体安装到centos机器上。 安装字体 将Windows的路径: C:\Windows\Fonts 的中文字体,如扩展名为 TTC 与TT…

shell脚本写代码

用简单的test语句来判断是否闰年 #! /bin/bash read -p "sd " yearif [ $((year%4)) -eq 0 -a $((year%100)) -ne 0 -o $((year%400)) -eq 0 ]thenecho "是润年"elseecho "不是闰年" fi判断一个数是否为偶数 #! /bin/bash read -p "…