树的高度,节点的深度和高度

article/2025/10/20 5:18:39

节点深度高度以及树的高度,不同的教材可能定义不同,本文是参考的《数据结构与算法python》第八章201页的定义

文章目录

    • 1 节/结点的深度和高度
      • 1.1 深度depth
      • 1.2 高度height
    • 2 树的高度
    • 3 二叉树知识补充

1 节/结点的深度和高度

1.1 深度depth

假定p是树T中的一个节点,那么p的深度就是节点p的祖先的个数,不包括p本身。这等价于p到根节点有多少条边。这种定义表明,树的根节点的深度为0.
在这里插入图片描述
上面的节点4的深度为3,14的深度为2,8的深度为0

1.2 高度height

树T中节点p的高度定义为:

  • 如果节点p是一个叶子节点,那么它的高度为0. (知识补充:叶子节点没有子节点的节点,也即终端节点;节点分为根节点,子节点(除根节点之外都是)和叶子节点(最后的节点))
  • 否则,p的高度是它孩子节点中的最大高度加1(这个定义无语了,因为这是死循环)。不过,通过书本的举例,自己重新总结如下:p节点的高度是p节点到其最后一个子孙节点的边数

在这里插入图片描述
上面节点6的高度为1,节点10的高度为2

2 树的高度

一棵非空树T的高度是树根节点的高度
在这里插入图片描述
这棵树的高度是节点8的高度,为3

3 二叉树知识补充

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面是来自于教程的ppt,但跟国内有些冲突(可以参考百度百科)。现在将上面的定义重新更改为(按国内):

  • 满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。 国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。
  • 完全二叉树:叶子结点只能出现在最下层和次下层,且最下层的叶子结点集中在树的左部的二叉树。如果一棵二叉树是满二叉树, 则它必定是完全二叉树,反之未必成立。

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/Lm5C9mSp.shtml

相关文章

树的高度和深度 | 结点的高度和深度

有个缺点,看到什么东西不管是不是重点只要说不通总是爱钻牛角尖。 对于 树的高度和深度(以及结点的高度和深度) 看了几本不同的书,都有各自的说法,多方查证吧,花了很多时间,最后归纳一下。(&am…

树的高度,深度,层数,度的辨析与解释

一.高度和深度辨析 关于树的深度和高度的计算,我看到两个不同的说法,它们的区别就在于到底是从0开始计算还是从1开始计算。(网上的和算法题偏向说法二,如果有能找到更加权威的解答望不吝赐教) 说法一: 《数…

树的节点、度数、高度、深度、遍历

1.节点的度与树的度 节点的度:结点拥有的子树数目称为结点的度,叶子结点 就是度为0的结点 树的度:树内各结点的度的最大值 分支节点:度不为0的节点 -------------------------------------------------- 节点数nn0n1n2&#…

数据结构——树

数据结构笔记目录: 1. 绪论、时间复杂度 2. 线性表 3. 树 4. 图 5. 查找 6. 排序 3.1 树 3.1.2 基本定义 n 个结点的有限集( n ≥ 0 n \ge 0 n≥0 ) 每棵树只有一个根结点其余结点分为 m 个有限集,每个有限集都是树 1. 定义 逻辑结构 一对多 &#…

如何理解数据结构中树的度(树的度是什么意思)?

在数据结构中,树是一对多的存在,如下图是一颗树。 结点拥有的子树个数称为结点的度,比如结点①的度为4,结点②的度为0,结点③的度为3。 对于树而言,树的度为树内各结点最大的度,从图中可知&…

数据结构(二叉树)

1. 二叉树 1.1 完全二叉树 除最后一层外,每一层的节点达到最大值,在最后一层只缺少右边v1若干节点 2. 关于树的三种逻辑算法(如下图) 2.1 树的总节点数等于每层节点数之和(计数)。 2.2 树的总结点数等于所有不同度数的节点数…

树的度是什么

https://www.zhihu.com/question/294774611 问题 树的节点的度是指节点的子树个数,那树的度是什么? 回答 树节点的度数即为该节点孩子的个数。 这是一棵树,树的度指其中节点的度最大值。 比如1号节点的孩子是2、3、4,则1号节点的度数是…

java 构造函数和super

package one; class book {book(){System.out.println("这是没有参数的父类的构造方法");}book(int i){System.out.println("有参数 父类的构造方法");}public void get(){System.out.println("book父类");}} class dictionary extends book {…

java构造函数使用方法总结

转载自:http://longying2008.iteye.com/blog/1535722 仅用作学习使用 使用构造器时需要记住: 1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名) 2.每个类可以有一个以上的构造器 3.构…

Java 构造函数的详解

我们人出生的时候,有些人一出生之后再起名字的,但是有些人一旦出生就已经起好名字的。那么我们在java里面怎么在对象一旦创建就赋值呢? 1.构造方法的作用: 构造方法作用:对对象进行初始化. 如图: 2.构造函…

java构造函数的调用

一、使用this关键字 构造函数的调用,需要使用this关键字 this(); //调用无参构造函数Food() this(name); //调用有参构造函数Food(String name)作用: 在一个构造函数中调用另一个构造函数,主要是为了增加代码的复用性。 …

java怎么写函数_java构造函数怎么写

java构造函数怎么写 发布时间:2020-06-29 11:50:19 来源:亿速云 阅读:114 作者:Leah java构造函数怎么写?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的…

java中的构造函数。

我们这篇文章说的是构造函数,那么它与我们平时写的函数有哪些不同呢?有很大的不同了。 特点:1函数名与类名相同 2不用定义返回值类型。 3不可以写return语句。 作用:给对象进行初始化。 注意:1默认构造函数的特点。 2多个构造函数是以重载的形式存在的…

Java构造函数(构造方法)的简介说明

转自: Java构造函数(构造方法)的简介说明 Java构造函数(构造方法) java中的构造函数是一种特殊类型的方法, 用于初始化对象。 Java构造函数在对象创建时被调用,调用构造函数时,它会创建一个对象,并返…

HED图像边缘检测-程序运行的问题解决方法

论文全名:[2015](HED_FCN)Holistically-Nested Edge Detection.pdf 代码下载地址:https://github.com/s9xie/hed 附上一篇个人认为写的比较好的论文笔记:http://blog.csdn.net/u012905422/article/details/52782615 注意事项: …

HID协议

转自:https://blog.csdn.net/zhoutaopower/article/details/82469665 1.简述 USB HID类是USB设备的一个标准设备类,包括的设备非常多。HID类设备定义它属于人机交互操作的设备,用于控制计算机操作的一些方面,如USB鼠标、USB键盘、…

图像处理——基于深度学习HED实现目标边缘检测

前言 使用传统的图像来检测目标边缘,受到干扰的因素太多了,而已鲁棒性不高,同样的参数,在这个环境下可以,换个环境就根本检测不到物体的边缘,或者把不是边缘的也检测进去了。ICCV2015有人提出了整体嵌套边…

边缘检测系列3:【HED】 Holistically-Nested 边缘检测

引入 除了传统的边缘检测算法,当然也有基于深度学习的边缘检测模型 这次就介绍一篇比较经典的论文 Holistically-Nested Edge Detection 其中的 Holistically-Nested 表示此模型是一个多尺度的端到端边缘检测模型 相关资料 论文:Holistically-Nested…

【论文阅读】(边缘检测相关)HED:Holistically-Nested Edge Detection

论文地址:https://arxiv.org/pdf/1504.06375.pdf Holistically:整体 Nested:嵌套的 参考博客:深度学习论文笔记之(一)HED边缘检测_大青上的博客-CSDN博客_深度学习边缘检测 边缘检测之HED_年轻即出发&#…

深度学习hed边缘检测模型之裂缝检测

裂缝检测原本采用分割模型较多,目前我测试了采用hed的裂缝检测;代码采用这个版本的代码是最简洁易懂的,https://github.com/senliuy/Keras_HED_with_model 环境:win10 keras2.2.4 hed.py from keras.layers import Conv2D, …