二叉树-堆

ops/2025/2/14 6:17:04/

在数据库中,树是一种数据结构,用于组织和存储数据,使得可以高效地进行插入、删除和查找操作。它通常用于表示层次关系或者有序集合。

基本概念

节点:树结构中的每个元素都称为节点。
根节点:树的最顶端节点。
子节点:从某个节点延伸出的节点称为该节点的子节点。
父节点:如果一个节点拥有子节点,那么这个节点就是其子节点的父节点。
兄弟节点:共享同一父节点的节点互称为兄弟节点。
叶节点:没有子节点的节点称为叶节点或终端节点。
路径:从一个节点到另一个节点的序列,其中包含从前者到后者的边的集合。
深度:节点的最大路径长度。
高度:节点的最大路径长度,包括节点本身。
度:节点的度是指节点拥有的子节点数。树的度是指树中所有节点的度的最大值。

结构定义

树的定义有很多种,根据不同的逻辑结构有不同的定义方法,在这里我们使用的是:左孩子右兄弟表示法。这种表示法简化了树的结构。

struct TreeNode
{
struct TreeNode FirstChild1;
struct TreeNode pNextBrother;}

在这里插入图片描述

二叉树

二叉树是一种特殊的树状数据结构,其主要特点包括:
每个节点最多有两个子节点,通常分别称为左子节点和右子节点。
具有明确的层次结构,从根节点开始逐渐向下扩展。
二叉树有多种类型,比如:
满二叉树:所有非叶子节点都有两个子节点,并且所有叶子节点都在同一层。
设满二叉树的深度为,则满二叉树的节点个数为 2^h-1。

完全二叉树:除了最底层可能不完全填满外,其他各层节点数都达到最大,并且最底层的叶子节点都集中在左侧。
设完全二叉树的深度为,则完全二叉树的节点个数为[2^(h-1), 2 ^h-1]。

二叉树的存储

二叉树的存储分为数组存储和链式存储,今天这篇文章我们介绍的是数组存储。数组存储的前提是二叉树为完全二叉树或者满二叉树。
在这里插入图片描述

根堆是一种完全二叉树,它的每一层节点都填满,除了最后一层可能有部分节点空缺,但空缺位置都集中在最右侧。根堆可分为大根堆和小根堆两种类型:
大根堆:在逻辑上的二叉树结构中,根结点大于子结点,总是最大的,并且在堆的每一个局部都是如此。大根堆的根结点在整个堆中是最大的元素。
在这里插入图片描述

小根堆:在二叉树的结构中,根结点小于子结点。例如{1,2,3}为小根堆,{1,3,2}同样也是小根堆。
在这里插入图片描述


http://www.ppmy.cn/ops/38809.html

相关文章

【漏洞复现】Apahce HTTPd 2.4.49(CVE-2021-41773)路径穿越漏洞

简介: Apache HTTP Server是一个开源、跨平台的Web服务器,它在全球范围内被广泛使用。2021年10月5日,Apache发布更新公告,修复了Apache HTTP Server2.4.49中的一个路径遍历和文件泄露漏洞(CVE-2021-41773)。…

SparkStructuredStreaming状态编程

spark官网关于spark有状态编程介绍比较少,本文是一篇个人理解关于spark状态编程。 官网关于状态编程代码例子: spark/examples/src/main/scala/org/apache/spark/examples/sql/streaming/StructuredComplexSessionization.scala at v3.5.0 apache/spark (github…

从零手写实现 tomcat-03-基本的 socket 实现

创作缘由 平时使用 tomcat 等 web 服务器不可谓不多,但是一直一知半解。 于是想着自己实现一个简单版本,学习一下 tomcat 的精髓。 系列教程 从零手写实现 apache Tomcat-01-入门介绍 从零手写实现 apache Tomcat-02-web.xml 入门详细介绍 从零手写…

LAMP部署

LAMP 一、LAMP概述 1.1.LAMP平台的构成组件: 二、LAMP部署 2.1.MySQL部署 2.2.PHP部署 2.2.1.部署PHP 2.2.2测试LAMP环境是否可用 三、LAMP架构应用实例 一、LAMP概述 1.1.LAMP平台的构成组件: Linux操作系统:Linux操作系…

数据结构_顺序表(动态)和链表(带头双向循环)的区别

✨✨所属专栏:数据结构✨✨ ✨✨作者主页:嶔某✨✨ 储存空间 我们知道顺序表的实质就是一个数组,数组的物理地址是连续的;而链表是由一个个的节点组成的,物理地址不一定连续、因为在malloc空间的时候不能保证&#xf…

【华为】AC直连二层组网隧道转发实验配置

【华为】AC直连二层组网隧道转发实验配置 实验需求拓扑配置AC数据规划表 AC的配置顺序AC1基本配置(二层通信)AP上线VAP组关联--WLAN业务流量 LSW1AR1STA获取AP的业务流量 配置文档 实验需求 AC组网方式:直连二层组网。 业务数据转发方式:隧道转发。 DHC…

一文搞懂什么是外贸企业邮箱?

一文搞懂什么是外贸企业邮箱?外贸企业邮箱,也就是外贸行业使用的企业邮箱系统,一般需要具备海外抵达率高、安全稳定等特点,通过外贸企业邮箱,企业可以和国内国外的客户或者同事进行业务的沟通交流。 一、什么是外贸企…

南博在线教育系统官网,教育机构如何线上招生做私域流量?怎么做好服务?

对于教育机构以及在线教育平台来说,招生是一个非常困扰他们的问题,因为不管是旺季还是淡季,教育机构想要维持运营,就必须招生。如果在做招生的时候,将引流而来的人群转化为私域流量的话,或许可以减少招生的…