数据结构之<树>的介绍

从询价到回款:一篇讲透 SAP SD 销售与分销的实战入门指南 摘要: SAP SD(Sales and Distribution)模块是SAP ERP中管理销售与分销的核心组件,贯穿从订单到回款(Order-to-Cash)的全流程。其核心价值在于将销售业务结构化,通过主数据(客户、物料、定价)和交易单据(订单、交货、发票)实现流程可审计、可自动化。SD模块与物流(MM)、生产(PP)、财务(FI)深度集成,涵盖定价策略、信用控制、发运管理、国际贸易等复杂场景。关键设计包括条件技术(Condition Technique)实现灵活定价,单据流(Document Flo 阅读详情

树的基本概念

在数据结构中,树(Tree)是一种层次结构,由节点和边组成。树的基本概念包括根节点、子节点、父节点、兄弟节点等。节点拥有零个或多个子节点,除了根节点外,每个节点有且仅有一个父节点。树的层数称为树的高度。子节点以及它后续节点所形成的数称为子树。

1.二叉树(Binary Tree)

二叉树是一种特殊的树结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。
二叉树
二叉树的基本概念:

  1. 节点(Node): 二叉树的基本构建单元,包含数据元素以及指向左右子节点的指针。

  2. 根节点(Root): 树的顶端节点,没有父节点。

  3. 叶子节点(Leaf): 没有子节点的节点称为叶子节点。

  4. 父节点、子节点、兄弟节点: 一个节点的直接上级是其父节点,直接下级是其子节点。具有相同父节点的节点互为兄弟节点。

  5. 深度(Depth): 节点的深度是从根节点到该节点的路径长度,根节点的深度为0。

  6. 高度(Height): 节点的高度是从该节点到其最远叶子节点的路径长度,叶子节点的高度为0。

二叉树有以下几种特殊形态:

1.1完全二叉树(Complete Binary Tree)

除了最后一层外,其他层的节点都是满的,且最后一层的节点从左到右连续排列。最后一层空缺的节点必须在右边,左边必须填满。
在这里插入图片描述

1.2满二叉树(Full Binary Tree)

每个节点要么没有子节点,要么有两个子节点。
在这里插入图片描述

1.3完美二叉树(Perfect Binary Tree)

所有叶子节点都在同一层,且每个非叶子节点都有两个子节点。
在这里插入图片描述

2.平衡二叉树(Balanced Binary Tree)

平衡二叉树是一种特殊的二叉树,它的左子树和右子树的高度差不超过1。常见的平衡二叉树有AVL树和红黑树。
在这里插入图片描述

3.二叉搜索树(Binary Search Tree)

二叉搜索树是一种有序的二叉树,对于每个节点,其左子树的值都小于该节点的值,右子树的值都大于该节点的值。这种特性使得在二叉搜索树中进行查找、插入和删除操作非常高效。
在这里插入图片描述

4.自平衡二叉搜索树

自平衡二叉搜索树是一种特殊的二叉搜索树,它在插入或删除节点时会自动调整树的结构,以保持树的平衡性。常见的自平衡二叉搜索树有红黑树和AVL树。

  • AVL树(AVL Tree):
    在这里插入图片描述

AVL树是一种高度平衡的二叉搜索树,它的每个节点都有一个平衡因子(Balance Factor),表示其左子树高度和右子树高度之差。AVL树满足以下性质:

  1. 每个节点的平衡因子只能是-1、0或1。
  2. 对于每个节点,其左子树和右子树的高度差的绝对值不超过1。

AVL树通过对节点进行旋转操作来保持树的平衡性。当插入或删除节点后,如果破坏了平衡性,AVL树会进行旋转操作来调整节点的位置,使得树重新平衡。相比于红黑树,AVL树的平衡性更加严格,因此在某些场景下,AVL树的查询效率可能更高。

  • 红黑树(Red-Black Tree):
    在这里插入图片描述

红黑树是一种具有自平衡性质的二叉搜索树。它的每个节点都有一个颜色属性,可以是红色或黑色。红黑树满足以下几个性质:

  1. 每个节点要么是红色,要么是黑色。
  2. 根节点是黑色。
  3. 每个叶子节点(NIL节点,空节点)是黑色。
  4. 如果一个节点是红色,则它的两个子节点都是黑色。
  5. 对于每个节点,从该节点到其所有后代叶子节点的简单路径上,均包含相同数量的黑色节点。

通过这些性质,红黑树可以保持树的平衡,使得树的高度相对较小,从而提高了查找、插入和删除操作的效率。红黑树的插入和删除操作可能需要进行旋转和颜色调整来保持平衡性。

一般来说,红黑树适用于插入和删除操作较多的场景,而AVL树适用于对查询操作有更高要求的场景。

二叉树的应用:

  1. 搜索和排序: 二叉搜索树可以用于快速搜索和排序。

  2. 表达式树: 二叉树可以用于表示数学表达式,便于求值和转换。

  3. 文件系统: 文件系统中的目录结构通常可以用二叉树表示。

  4. 哈夫曼树: 用于数据压缩算法中,构建最优编码树。

  5. 数据库索引: 数据库中的索引通常使用二叉树结构。

5.三叉树(Ternary Tree)

三叉树是一种每个节点最多有三个子节点的树结构。它可以用于表示多叉树的一种特殊情况。
在这里插入图片描述

6.多叉树(Multiway Tree)

多叉树是一种每个节点可以有多个子节点的树结构。每个节点的子节点数量可以是任意的。
在这里插入图片描述


图片来源:峰华前端工程师

别再只会复制Haar级联代码了!OpenCV人脸检测全方案深度解析,从原理到工业级落地 通用预训练模型在你的业务场景效果不好时,用自己的业务数据集训练专属的级联器,是提升精度的终极方案,OpenCV自带和工具,支持自定义Haar/LBP级联器训练。场景首选方案次选方案新手入门学习Haar级联分类器LBP级联分类器嵌入式轻量固定场景LBP级联分类器YuNet轻量版工业级落地项目(99%场景)DNN+YuNetMTCNN多人脸+小目标复杂场景DNN+YuNet自定义微调模型同时做人脸+其他目标检测。 阅读详情

相关推荐

【COMSOL超材料和超表面仿真设计】

超材料和超表面的设计通常需要自定义材料属性。在COMSOL中,可以通过定义介电常数和磁导率的张量来模拟超材料的特性。对于超表面,通常需要定义表面阻抗或等效电路模型。

weixin_51101456的博客 1661

数据结构——树

树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。

qq_42106610的博客 1462

IATF16949核心职位全解析

TM / Top MgmtMR / QMRProcess OwnerQMQAQCSQECQEPQEPETEMEIEPM / PJMFMEA ModeratorMSA CoordinatorSPC CoordinatorCM / CCB内审员CP / CPK

weixin_49938552的博客 972

数据结构 | 3.树与二叉树

在 栈和队列 一文中提到,栈可以处理具有 完全包含 关系的问题。 而树分为两部分:结点 和 边。结点可以理解为集合,边称为关系。树的根结点就叫做全集,子节点叫做子集,子集并起来就得到了全集。 根结点就是待解决的问题,可能是个大问题,可以划分为多个子问题,即是子结点。 树也存在着一种完全包含关系。树和栈是有一定关联的,遍历树的时候就要使用栈,而且使用到的是系统栈,用到系统栈的表现形式就是递归。 1、树的深度、高度和度 树的根结点所在层数为第一层。结点下有几个子结点,度就为几。 深度 是从根往下的层数,高度

明朗晨光的专栏 3489

【Ablation Studies 理解】深度学习模型组件的对比实验/性能分析

Ablation Study 用于检测深度学习/机器学习模型中各部分构件对于整体的重要性。 可以理解为为:组件\tricks重要性测试、组件性能系统性分析、控制变量法、组件去除对比实验、性能敏感性测试、性能因子分析等 Ablation Studies 一些新颖的深度学习模型在论文中都会进行AblationStudy,这部分的主要意义在于系统性的移除模型中的各种组件/trick等因子或者是创新的...

TomRen 4588

IntelliJ IDEA 中git使用说明书

IntelliJ IDEA 中git使用说明书

junyang2012的博客 5389

数据结构树(Tree)详解

树(tree)树(Tree)的基本概念定义树的结构此外还有以下概念:二叉树二叉树的特点满二叉树完全二叉树二叉查找树(Binary Search Tree - BST,又称二叉排序树、二叉搜索树)AVL树二叉树的存储结构二叉树的顺序存储:二叉树的链式存储结构遍历二叉树的算法层次遍历普通遍历 树(Tree)的基本概念 定义 树是由结点或顶点和边组成的(可能是非线性的)且不存在着任何环的一种数据结构。没有结点的树称为空(null或empty)树。一棵非空的树包括一个根结点,还(很可能)有多个附加结点,所有结点构成

u011212112的专栏 7301

Verilog——反相器

反相器代码: module inv( A, Y );//A,Y是端口 //定义端口属性 input A; output Y; //定义输入输出关系 assign Y=~A;//Y等于A的反 endmodule //inv是module的名字

weixin_41788560的博客 9499

Trie树 与 三分树(Ternary Trees)

总结为什么用Trie树? 词频统计 可能有人要说了,词频统计简单啊,一个hash或者一个堆就可以打完收工,但问题来了,如果内存有限呢?还能这么玩吗?所以这里我们就可以用trie树来压缩下空间,因为公共前缀都是用一个节点保存的。 前缀匹配 如果and,as,at,我想获取所有以”a”开头的字符串,如果不用trie树,你该怎么做呢?很显然朴素的做法时间复杂度为O(N2),那么用Trie树就不一样了,

《我是你的正能量》 4135

EG2134驱动芯片实战:如何用TSSOP20封装搞定三相无刷电机驱动(附电路图)

本文详细介绍了EG2134驱动芯片在三相无刷电机驱动中的应用实践,包括芯片选型、电路设计和PCB布局技巧。EG2134作为一款高性能半桥驱动芯片,采用TSSOP20封装,适合紧凑型设计。文章还提供了典型应用电路图和调试指南,帮助工程师快速实现稳定可靠的电机驱动方案。

d3e4f的博客 306

Cadence17.4 Allegro PCB制板(gerber / 光绘)文件输出的顺序及注意点

Cadence Allegro PCB制板文件输出 (gerber 光绘文件输出)

weixin_45331044的博客 1万+

【数据结构与算法】树(Tree)【详解】

【知识框架】树是n(n>=0)个结点的有限集。当n = 0时,称为空树。有且仅有一个特定的称为根的结点。当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每个集合本身又是一棵树,并且称为根的子树。显然,树的定义是递归的,即在树的定义中又用到了自身,树是一种递归的数据结构。树的根结点没有前驱,除根结点外的所有结点有且只有一个前驱。树中所有结点可以有零个或多个后继。因此n个结点的树中有n-1条边。

DreamSun的博客 1万+

SAP 系统间 SSO 的真正价值,从 SM59 到可信 RFC 的安全设计

SAP S/4HANA系统间Single Sign-On(SSO)的核心价值在于集中管理通信身份与信任关系,而非仅减少密码输入。传统固定账号密码方式在系统规模扩大后会面临密码管理、审计追踪等挑战。通过SM59配置可信RFC目标系统,结合SSL证书或SAP Trusted System等强认证机制,能有效降低安全凭据暴露风险。SSO配置需配合授权对象、角色管理等建立清晰的信任边界,实现系统间安全通信的同时保持可审计性。这种方案特别适用于Fiori前端与S/4HANA后端等场景,通过可信RFC传递用户身份,避免

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1062

【数据结构】树的介绍

本篇博客,带你了解树,了解树的相关概念及其分类。

2401_86785052的博客 1385

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

数据结构 树的基本介绍

数据结构 树树树的定义及特点树的逻辑结构表示方法 树 树的定义及特点 树的定义: 树是由n(n>=0)个结点组成的有限集合(记为T)。如果n=0,它是一棵空树,这是树的特例;如果n>0,n个结点中存在(有且仅有)一个结点作为树的根节点(root),其余节点可分为m(m>=0)个互不相交的有限集T1、T2、…、Tm,其中,每个子集本身又是一颗符合定义的树,称为根节点的子树。 树的特点: 树是一种非线性数据结构,具有以下特点:它的每一个结点可以有零个或多个后继结点,但是有且只有一个前驱结点(

bobi1024的博客 1491

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【数据结构】——介绍树

根为第 1 层,根的⼦结点为第 2 层,以此类推;

酷酷的崽的博客 1050

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

数据结构之树:树的介绍——9

数据结构链表之树,介绍篇 树的基本定义 介绍:树(tree)是计算机中非常重要的数据结构,它的外形看起来像一颗倒挂着的的树,使用树这种结构可以描述生活中很多的事物,如族谱,单位的组织架构,xml,html的中属性的关系,文件目录,路由协议,某些数据库的索引,机器学习中的决策树等 定义:树是由n(n>=1)个有限结点(node)组成的一个具有层次关系的集合,某些结点之前存在特定的关系,用连线...

Moelimoe的博客 543

数据结构学习分享之树的介绍

树的介绍

杭电码农-NEO的博客 864

数据结构之树各种类型介绍

树 树(英语:tree)是一种抽象数据类型或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: ① 每个节点有零个或多个子节点; ② 没有父节点的节点称为根节点; ③ 每一个非根节点有且只有一个父节点; ④ 除了根节点外,每个子节点可以分为多个不相交的子树; 树的术语:度,叶子节点,根节点,父节点,子节点,深度,高度。 节点深度:对任

weixin_42272869的博客 1925

数据结构-树(一)树介绍、优缺点

通常称为左子节点、右子节点。

SirLancelot1的博客 1177

【数据结构】B树的介绍及其实现C++

多次的访问IO,这样的速度是非常的慢的,此时就引入了BTree这个结构。我们只需要将关键字和其映射的数据的地址放到内存中的BTree中,就可以很快的定位到数据的地址,然后去磁盘中查找了。

m0_72532428的博客 1118

数据结构篇——树与二叉树的介绍

1、树的定义:树是n个结点的有限集(n>=0),当n=0时树为空树。有且仅有一个称之为根的结点;除根结点以外的其余结点可分为m(m>=0)个互不相交的有限集T 1,T2,···,Tm,其中每一个集合本身又是一棵树。并日称为根的子树。例如 图5.1:在图中(a)是只有一个结点的树;(b)是有13个结点的树,其中A是根,其余结点分成3个互不相交的子集:T1={ B,E,F,K,L} ,T2={ C,G} ,T3={ D,H,I,J,M} $。T1、T2和T3都是根A的子树,且本身也是一棵树。

2301_79702677的博客 1695

【数据结构】B树的介绍及结点的插入删除

B树的概念与特点,B树的结点删除与插入操作

mrqiuwen的博客 2920

数据结构笔记(5)树的基础介绍

前言 接下来就是数据结构的第二大板块:树 之前的第一板块:线性表中的顺序表和链表已经更完。但由于队列和栈是特殊的线性表,既然特殊,实际上就普通的顺序表和链表也能实现,加上队列和栈可直接STL实现。 故由此,先暂时跳过队列和栈的实现(实际上队列和栈的实现也是仿STL的) 笔记(1)为顺序表仿STL的实现,笔记(2)为链表的实现,笔记(3)为队列的仿STL实现,笔记(4)为栈的仿STL实现,而本篇笔记(5)则介绍树形结构 树的定义 树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系

qq_62102968的博客 2157

【数据结构基础】之树的介绍,生动形象,通俗易懂,算法入门必看

树(Tree)是n(n>=0)个结点的有限集;二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。本文将对树与二叉树的概念、特点,以及二叉查找树,平衡二叉树,红黑树,B+树,B-树进行详细介绍~

小新要变强的博客 945
上一篇: 是否还在为找不到合适的GPT网站而烦恼?不用担心,这里有一些值得一看的汇总!
下一篇: 数据结构之<图>的介绍
_蓝橙
博客等级 码龄7年 1179粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值