当前位置: 首页 > news >正文

数据结构初阶:树的相关性质总结

🔥个人主页:胡萝卜3.0

🎬作者简介:C++研发方向学习者

📖个人专栏:  《C语言》、《数据结构》 、《C++干货分享》、LeetCode&牛客代码强化刷题

⭐️人生格言:不试试怎么知道自己行不行

目录

一、通用性质

二、树形结构

三、二叉树的性质​编辑

3.1 特殊的二叉树

3.1.1 满二叉树的性质

3.1.2 完全二叉树的性质

3.2 二叉树的顺序结构——堆的性质

3.2.1 二叉树的性质(堆中使用)


一、通用性质

1、有且仅有一个根节点:根节点是树的最顶层结点。没有父节点

2、子节点与父节点:除了根节点外,其余每个节点都有且仅有一个父节点,一个父节点可以有0个或多个子节点。

3、兄弟节点:具有相同父节点的节点称为兄弟节点。

4、祖先和子孙:从根节点或该节点路径上所经过的所有节点都是其祖先,以某节点为根的子树中的所有节点都是其子孙。

5、度:

  • 节点的度:一个节点拥有的子节点数目。
  • 树的度:树中所有节点的度的最大值。

6、层次:根节点的层次为1,根节点的孩子节点的层次为2,……以此类推。

7、树的深度/高度:树中节点的最大层次。

8、叶子节点:度为0的节点。

9、分支节点:度不为0的节点。

10、子树:每个节点及其所有子孙组成一个树。树是由根节点和若干棵互不相交的子树构成。

二、树形结构

1、子树是不相交的(如果子树存在相交,就是图)

2、除了根节点,每个节点都仅有一个父节点

3、一棵树有N个节点,则有N-1条边。(2个节点,1条边)

三、二叉树的性质
  1. 二叉树中不存在度大于2的节点。
  2. 二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树
  3. 对于任何一棵二叉树,如果度为0其叶子节点个数为n0,度为2的分支节点个数为n2,则有n0=n2+1。
3.1 特殊的二叉树
3.1.1 满二叉树的性质

  1. 树的度为2,即最大节点个数为2。
  2. 每一层节点个数都达到最大,假设层数为k,则每层节点个数为2^(k-1),节点总数为2^k-1。

根据满二叉树的性质可知:

1、若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有2^(i-1)个节点。

2、若规定根节点的层数为1,则深度为h的二叉树的最大节点个数为2^h-1。

3、若规定根节点的层数为1,具有n个节点的满二叉树的深度为h=log2(n+1)(log以2为底,n+1的对数)。

3.1.2 完全二叉树的性质

  1. 除了最后一层,其余每层节点个数都达到最大,最后一层节点个数不一定达到最大。
  2. 节点是从左往右依次排序的(先有左孩子,才有右孩子,否则就不是完全二叉树)。
  3. 在完全二叉树中,度为1的节点个数有1个或者0个。
  4. 完全二叉树的节点个数=度为0的节点个数+度为1的节点个数+度为2的节点个数。

根据完全二叉树和满二叉树的性质可知——
最后一层节点个数<=2^(h-1)。

3.2 二叉树的顺序结构——堆的性质
  1. 堆中某个节点的值总是不大于或不小于其父节点的值(若堆中的某个节点的值总是不大于其父节点的值为大堆;若堆中的某个节点的值总是不小于其父节点的值为小堆)。
  2. 堆总是一棵完全二叉树
3.2.1 二叉树的性质(堆中使用)


文章转载自:

http://OavMet65.kxnjg.cn
http://Zie3J6KW.kxnjg.cn
http://kFkMVMXZ.kxnjg.cn
http://t4qUXM2S.kxnjg.cn
http://RxWGoc1N.kxnjg.cn
http://2kePNfyX.kxnjg.cn
http://MWH4kzKQ.kxnjg.cn
http://uXwuNebw.kxnjg.cn
http://9HAimu0D.kxnjg.cn
http://5aKA5UTr.kxnjg.cn
http://mqTbqy3A.kxnjg.cn
http://IYaGvyio.kxnjg.cn
http://eGIpMYzG.kxnjg.cn
http://4cdfXnVy.kxnjg.cn
http://lsdKivPu.kxnjg.cn
http://3YXVvmN1.kxnjg.cn
http://7KjS0OqI.kxnjg.cn
http://AKdxO0h9.kxnjg.cn
http://YpnKwVmo.kxnjg.cn
http://1whk7HpH.kxnjg.cn
http://typWHS8o.kxnjg.cn
http://xYXcJYJR.kxnjg.cn
http://UnS0eb3i.kxnjg.cn
http://RcbaEcVV.kxnjg.cn
http://90pENc0V.kxnjg.cn
http://Ga5F6YK2.kxnjg.cn
http://v1JK9U4y.kxnjg.cn
http://HBfU0COk.kxnjg.cn
http://Amfd1GUv.kxnjg.cn
http://6h8DwdLt.kxnjg.cn
http://www.dtcms.com/a/369597.html

相关文章:

  • whl编译命令作用解释
  • 如何在序列水平上简单分析一个新蛋白质序列(novel protein sequence)
  • 苹果手机ios系统下载了.apk文件程序怎么安装?
  • 认知篇#11:计算机视觉研究领域的大致分类
  • 如何高效比对不同合同版本差异,避免法律风险?
  • 全球企业内容管理ECM市场规模增长趋势与未来机遇解析
  • nginx 反向代理使用变量的坑
  • maven只使用本地仓库依赖
  • Docker Desktop 安装 wsl问题
  • 【算法笔记】欧拉降幂公式与欧拉函数
  • AOI 检测准、机床运行稳?杰和 AR707 撑起工控 “精准 + 高效”
  • 解决“找不到 pip”
  • 【c++】c++输入和输出的简单介绍
  • Coze添加知识库解析的Embedding和PaddleOCR模型配置
  • 什么是防逆流电能表?深度解析如何实现防逆流
  • 孙宇晨钱包被列入黑名单,WLFI代币价格暴跌引发中心化争议
  • 第七章 Cesium 3D 粒子烟花效果案例解析:从原理到完整代码
  • 【110】基于51单片机金属探测器【Proteus仿真+Keil程序+报告+原理图】
  • (双指针)LeetCode 209 长度最小的子数组+3 无重复字符的最长子串
  • 技术面:Java并发(线程池、ForkJoinPool)
  • 2026秋招Leetcode刷题记录
  • 探讨Xsens在人形机器人研发中的四个核心应用
  • [特殊字符] 香蕉超市|Nano Bananary|ZHO|已开源
  • 一种基于注解与AOP的Spring Boot接口限流防刷方案
  • 新启航开启深孔测量新纪元:激光频率梳技术攻克光学遮挡,达 130mm 深度 2μm 精度
  • ZyperWin++一个超好用的工具
  • 共用体与枚举:C++高效内存技巧
  • Semi-Supervised 3-D Medical
  • 解决网络太慢问题
  • IP5326_BZ 支持C同口输入输出的移动电源芯片 2.4A的充放电电流 支持4LED指示灯