软考中级-数据库-3.3 数据结构-树

news/2025/3/9 18:11:10/

定义:树是n(n>=0)个结点的有限集合。当n=0时称为空树。在任一非空树中,有且仅有一个称为根的结点:其余结点可分为m(m>=0)个互不相交的有限集T1,T2,T3...,Tm…,其中每个集合又都是一棵树,并且称为根结点的子树。

树的相关概念

1、双亲、孩子和兄弟:

2、结点的度:一个结点的子树的个数记为该结点的度。

3、叶子结点:也称为终端结点,指度为零的结点。

4、内部结点:度不为零的结点称为分支结点或非终端结点。除根结点之外,分支结点也称为内部结点。

5、结点的层次:根为第一层,根的孩子在第二层,依此类推。

6、树的高度:一棵树的最大层次数记为树的高度(或深度)。

7、有序(无序)树:若将树中结点的各子树看成是从左到右具有次序的,即不能交换,则称该树为有序树,否则称为无序树。

8、森林:m(m>=0)棵互不相交的树的集合。

二叉树

定义:二叉树是n(n>=0)个结点的有限集合,它或者是空树(n=0),或者是由一个根结点及两棵不相交的、分别称为左子树和右子树的二叉树所组成。

树和二又树的区别:(1)二叉树中结点的子树要区分左子树和右子树,即使只有一棵子树,而树中不用区分。(2)二叉树中结点的最大度为2,而树中无限制。


http://www.ppmy.cn/news/1577879.html

相关文章

PX4中的DroneCAN的实现库Libuavcan及基础功能示例

简介 Libuavcan是一个用C编写的可移植的跨平台库,对C标准库的依赖小。它可以由几乎任何符合标准的C编译器编译,并且可以在几乎任何体系结构/OS上使用。 在 DroneCAN 中,Libuavcan 有一个 DSDL 编译器,将 DSDL 文件转换为 hpp 头…

解决java-jar报错:xxx.jar 中没有主清单属性的方法

在使用IDEA 2024.1版本Win11JDK1.8,用springboot做了一个demo,然后用maven打包部署了,打包的jar包在运行的时候,报错,如下图 “没有主清单属性的方法” 参考网址https://www.jb51.net/program/331436ija.htm发现&#…

写一个QGIS插件

编写一个简单的QGIS插件,实现以下功能: 在QGIS界面中添加一个工具栏按钮,点击按钮后能够弹出一个对话框。对话框中包含一个文本框和一个按钮。用户可以在文本框中输入一个字符串,点击按钮后,在QGIS控制台中输出用户输…

在K8S中,svc底层是如何实现的?

在Kubernetes中,Service是集群内部的一个抽象层,用于定义一组Pod的逻辑分组,并提供统一的访问入口点,同时还可以对这些Pod提供负载均衡和网络代理功能。Service底层的实现主要包括以下几个关键组件和技术: 标签选择器…

.NET高级应用---自定义Ioc容器(附带源码)

目录 1. IoC容器对象项目结构的影响 代码体现: 2. IoC容器中的对象依赖注入 代码体现: 3. IoC概念理解与自定义IoC容器 代码体现: 4. 自定义IoC容器的基本控制逻辑 5. IOC瞬态模式与单例模式逻辑整合 代码体现: 6. 无限…

20250307隨筆 使用 A5 SQL 打开 .a5er 文件以及生成建表語句

在 A5:SQL Mk-2 中,拖拽 .a5er 文件后,你可以查询某个表的名称以及生成数据表的 SQL 脚本。以下是具体操作方法: 1. 查找某个表名 如果你已经打开 .a5er 文件,并且看到了 ER 图,你可以用以下方法查找特定表&#xff1…

【RabbitMQ】Producer之TTL过期时间 - 基于AMQP 0-9-1

这篇文章和大家分享Producer发布消息时如何设置消息过期时间,包括队列级别和消息级别,还有如何设置队列的过期时间。 消息过期时间 给消息设置TTL,在超过TTL值后,消息就会变成dead message(死信)&#xf…

基于Spring Boot的共享学习经验系统的设计与实现

目录 摘 要 第1章 绪论 1.1研究背景与意义 1.2国内外现状 1.3研究目标 第2章 需求分析 2.1业务需求 2.1.1业务概述 2.1.2业务流程 2.2.1用例概述 2.2.2用例描述 2.3非功能性需求 第3章 系统设计 3.1技术路线 3.2系统功能模块设计 3.3系统架构 3.4数据库设计 3.4.1概念结构设…