实现思想:

1.求树高时我们可以利用递归思想来求。而递归主要的思想就是要将大问题化为小问题。
2.我们求树高时,可以分别求左右子树的高度然后比较左右子树的高度,返回较大的值。

代码实现:

int max_val(int a, int b) {return a > b ? a : b;
}int BTtreeHeight(BTNode* root) {if (!root) return 0;return max_val(BTtreeHeight(root->left), BTtreeHeight(root->right)) + 1 ;}

细节注意:

return max_val(BTtreeHeight(root->left), BTtreeHeight(root->right)) + 1 ;

【注】这一句代码我们要理解为什么会加一。
因为我们递归比较的是父节点的两棵子树。当返回时返回的是子树的高度,这个高度不包括父亲自己。加一才是包括自己在内的树的高度。

二叉树--求树的高度相关推荐

  1. 以孩子兄弟链表为存储结构,请设计递归算法求树的高度

    题目:以孩子兄弟链表为存储结构,请设计递归算法求树的高度 分析:如果只有根节点,那么高度为1,如果有左孩子,那么高度由左孩子的左子树和右子树决定,取其大者. 代码如下: typedef struct ...

  2. java建树_JAVA实现通过中序遍历和后序遍历序列建树,并求树的高度,用层次遍历做验证...

    作为例子的树长这样: package bstpractice; import java.util.ArrayList; import java.util.Arrays; import java.uti ...

  3. 树的应用:求树的叶子节点数 求树的高度、copy一棵树

    #if 0 //树的应用 //1.求树的叶子节点: 度为0的节点 //先判断根节点是否是叶子节点,然后计算左子树的叶子节点个数 //在计算 右子树节点个数void coutLeaf(BiNode *T ...

  4. 二叉树4:二叉树求树高度(超级详细)

    一.思路 什么是树高? 树的高度(或深度)就是树中结点的最大层数. 在这里使用后序遍历的递归算法. 对每一个结点都进行如下操作: 后序遍历其左子树求树高 后序遍历其右子树求树高 对这个结点进行下面操作 ...

  5. 求树的高度(C++)

    题目描述 现给定一棵树,请你求出它的高度. 输入格式 输入给出二叉树的信息.对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(此时假设结点从0到N−1编号):随后N行,第i行对应 ...

  6. 求树的遍历、树的叶子节点个数、树的高度、copy树

    1 #include<iostream> 2 3 using namespace std; 4 5 typedef struct Treenode 6 { 7 Treenode* left ...

  7. 树的高度 递归法和非递归法

    递归法思路: 树的高度即节点子树的高度+1(节点子树的高度即左子树高度,右子树高度的最大值) 代码如下: // Height_Recursive 递归法求树的高度 int Height_Recursi ...

  8. c++现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度

    题目描述 现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度 输入描述: 输入的第一行表示节点的个数n(1 ≤ n ≤ 1000,节点的编号为0到n-1)组 ...

  9. 问题 D: 二叉树求高度

    题目描述 已知一棵二叉树用邻接表结构存储,求这棵树的高度.例:如图二叉树的数据文件的数据格式如下: 输入 第一行n为二叉树的结点个树,n≤100:以下第一列数据是各结点的值,第二列数据是左儿子结点编号 ...

最新文章

  1. 将深度学习低延迟推理性能提高一倍
  2. python神秘的魔法函数_python进阶之魔法函数
  3. php创建菜单_php实现微信公众号创建自定义菜单功能的实例代码
  4. 汇编语言--数据传送指令
  5. CentOS 安装 VMware Tools 详细方法
  6. HBase学习笔记2 - HBase shell常用命令
  7. php consul 服务注册,CentOS 安装 Consul 服务注册和发现软件
  8. Java 多线程 —— wait 与 notify
  9. 如何在linux中也能够使用自动类型推导关键字auto?
  10. Android开发技巧:给Button的点击上色
  11. 第七章 数据库设计(联系毕业论文))
  12. 【企鹅电竞直播源】浏览器抓取真实直播源地址(纯前端JS PHP解析源码)
  13. 高一计算机信息与技术知识点,高中信息技术必修知识点汇总
  14. CAD制图初学入门:CAD图案填充之图案加洞
  15. python毕业设计项目源码选题(5)校园网站系统毕业设计毕设作品开题报告开题答辩PPT
  16. 自助广告插件系统 7.4版本 高颜值网站广告代码
  17. 运营——线上引流9大方法
  18. 炒短线的好方法.以及如何买入涨停股票
  19. C/C++编程笔记:C++中的isspace()及其在计算空格字符中的应用
  20. 基于java的宠物狗销售网站系统

热门文章

  1. 脊髓损伤后有哪些并发症? 脊髓损伤要知道的3个并发症
  2. Inno Setup 是什么?
  3. 7-47 打印选课学生名单 (25分))
  4. muduo网络库使用入门
  5. Ubuntu 16.04 配置及美化
  6. Windows Server 2003防木马权限设置
  7. 认可不断!知道创宇荣获 CSA 2021 安全创新奖
  8. cat命令使用方法详解
  9. 【微信小程序】字符串转数字
  10. cas52242-05-4/四硝基苯基卟啉钴/分子量984.15/齐岳生物促销款