1.二叉树的高度和深度定义

(对某个节点来说)
深度是指从根节点到该节点的最长简单路径边的条数;
高度是指从最下面的叶子节点到该节点的最长简单路径边的条数;
对二叉树
深度是从根节点数到它的叶节点;
高度是从叶节点数到它的根节点;
注意: 树的深度和高度一样,但是具体到树的某个节点,其深度和高度不一样。

如图:树的高度和深度都为4(看层数);
节点8的深度为3;节点9的高度为2;

2.二叉树的最大深度和最小深度

最大深度:

最大深度是从根节点最近叶子节点最长路径上的节点数量。

最小深度:

最小深度是从根节点最近叶子节点最短路径上的节点数量。

叶子节点是指没有子节点的节点(左右孩子都为空的节点)

3. abs()     求绝对值

4.一棵二叉树是平衡二叉树当且仅当其所有子树也都是平衡二叉树,因此可以使用递归的方式判断二叉树是不是平衡二叉树,递归的顺序可以是自顶向下或者自底向上。

5.to_string 函数:将数字常量转换为字符串,返回值为转换完毕的字符串

to_string()方法是将其他类型的数据转换成字符串类型

6.回溯算法的定义:回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。

算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试

递归函数的开头写好中止条件,或者跳出条件,满足条件才将当前结果加入总结果中,或者不满足让函数return,防止重复遍历
  已经经过的地点不在经过(已经搜索过的解空间不再重复搜索)
  遍历过当前节点后,为了回溯到上一步,要去掉已经加入到结果list中的当前节点。

二叉树的高度和深度定义、回溯(个人学习记录)相关推荐

  1. 二叉树深度和高度_二叉树的高度和深度

    二叉树深度和高度 In this tutorial, we will learn how to find height and depth of binary tree with program im ...

  2. 二叉树的高度和深度的理解

    高度:是从叶子结点起开始往上数层数,有多少层就是指该二叉树的高度是多少. 深度:是从根结点起开始往下数层数,有多少层就是指该二叉树的深度是多少. 总结:在数值上高度和深度是相等的,但是表示的含义却不相 ...

  3. 树的高度和深度 定义

    1.高度 高度的定义为:从结点x向下到某个叶结点最长简单路径中边的条数 空树:-1: 一节点树:0: 2.深度 深度是从根节点往下,列如图中:B的深度为2.

  4. 二叉树的深度 | 分治 +回溯 + 迭代

    二叉树的最大深度 leetcode https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 回溯基本思路 二叉树的最大深度就是 : 从根节 ...

  5. 二叉树中的的深度、高度、度及其运算性质详解

    二叉树的深度/高度与节点的深度/高度的区别 按照书上的定义总结如下: 节点的层次 :根节点为第1层,往下每层递增1 节点的度(出度):该节点的孩子结点个数 节点的入度:该节点的直接父节点个数 树的度: ...

  6. 左神算法:二叉树的最大 / 最小深度(普通+Morris遍历进阶)(Java版)

    二叉树的最小深度 题目 https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/ 二叉树定义如下: // Definition fo ...

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

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

  8. 二叉树(七):二叉树的高度与平衡二叉树

    一.二叉树的深度与高度 1.二叉树的深度 对于二叉树中的某个节点,其深度是从根节点到该节点的最长简单路径所包含的节点个数,是从上面向下面数的.因此访问某个节点的深度要使用先序遍历 2.二叉树的高度 对 ...

  9. Python培训讲解二叉树的三种深度

    python代码实现了二叉树,这次将会实现二叉树的几种遍历方法,来更好的解析二叉树的结构特点.分别是一种广度遍历,和三种深度遍历方法:先序遍历,中序遍历,后序遍历.下面是代码实现: 1.先序遍历 遍历 ...

最新文章

  1. spring-cloud-config 搭建-入门级(一)
  2. C# JSON使用的常用技巧(一)
  3. sql 数据库前两列值乘_数据库的基本概念:
  4. 【数据结构与算法】之深入解析“奇怪的打印机”的求解思路与算法示例
  5. 夏日防晒护肤经验心得与大家分享 - 生活至上,美容至尚!
  6. js动态创建样式style
  7. 【狂神说】分析前后端分离开源项目?
  8. photoshop cs3 字体 即时预览
  9. Open VSwitch简介
  10. JS对数据进行判空操作
  11. Rust: 用于量化研究的尝试探讨
  12. 四川大学计算机学院优秀毕业论文,(完整版)四川大学本科_毕业论文(设计)_有关规定...
  13. Hashmap实现原理及hash冲突(碰撞)解决方法
  14. 期末复习—计算机组成原理—计算机的分类
  15. 6款CSS特效边框样式
  16. 2022最新自动化测试面试题及答案
  17. Unity UI跟随鼠标移动
  18. C语言结构体数组,结构体数组的定义,结构体数组的输出,结构体的应用
  19. 家用计算机选择什么网络好,200M宽带是否适合家庭使用?
  20. log4j日志输出到web项目指定文件夹

热门文章

  1. 关于rem布局以及sprit雪碧图的移动端自适应
  2. 两个多月学习安卓的心得,给新手一点建议
  3. springboot接收多对象_SpringBoot Controller 中使用多个@RequestBody的正确姿势
  4. 2、论述rfid与物联网关系。
  5. java计算机毕业设计ssm幼儿园管理系统
  6. 常见操作String的方法(截取子串,分割字符串,字符串的替换)
  7. 浙江大学区块链协会纳新 | 加入我们,“链”接未来
  8. 通付盾受邀出席区块链技术和应用峰会暨第五届中国区块链开发大赛成果发布会及颁奖仪式
  9. 禁用输入框input
  10. 计算机导论ppt创意作品,《计算机导论》全套PPT电子课件教案-第1章 绪论.ppt