文档章节

【40】二叉树的高度

fengsehng
 fengsehng
发布于 2016/11/09 09:15
字数 192
阅读 0
收藏 0

题目:

实现二叉树的数据结构定义(二叉树存储的为int值)
实现一个算法来计算二叉树t的高度

思路:

  • 首先定义一个二叉树的类
  • 动态规划的思路,height(n) = max(height(n.left),height(n.right))+1;

代码:

二叉树的定义类

class BinaryTreeNode{
        int mValue;
        BinaryTreeNode mLeft;;
        BinaryTreeNode mRight;
    }

解法:

int treeDeep(BinaryTreeNode head){
        if(head == null)return 0;
        int left = treeDeep(head.mLeft);
        int right = treeDeep(head.mRight);

        return (left > right) ? (left + 1):(right + 1);
    }

欢迎入群:

公众号IT面试题汇总讨论群

这里写图片描述

如果扫描不进去,加我微信(rdst6029930)拉你。

欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号二维码如下:

这里写图片描述

© 著作权归作者所有

共有 人打赏支持
fengsehng
粉丝 4
博文 284
码字总数 214494
作品 0
朝阳
程序员
私信 提问
计算二叉树的最大高度

二叉树的高度有两种定义: 1) 从根节点到最深节点的最长路径的节点数。 2) 从根到最深节点的最长路径的边数。 在这篇文章中,我们采用第一种定义。例如,下面这棵树的高度是3: 计算二叉树高...

九州暮云
01/11
0
0
[概念辨析 系列 之二] 二叉树:complete和full

二叉树(binary tree)是一种数据结构,它有唯一的根节点,并且每个节点都有0个,1个或者2个子节点。它的(至多)两个子节点被区分为左子节点和右子节点。 为了更准确地讨论二叉树的性质,我们在...

黄宇
2016/09/27
0
0
二叉树的一些算法

求二叉树中距离最远的2个节点的距离 本文中二叉树结构定义为: 定义:空二叉树的高度为-1,只有根节点的二叉树高度为0,根节点在0层,深度为0。 两个节点的距离为两个节点间最短路径的长度。...

泳泳啊泳泳
2017/12/25
0
0
二叉排序树(Binary Sort Tree)

1、定义 二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree)。其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树: ① 若它的左子树非空,则左子树上所有...

野渡书生
2016/04/28
96
0
二叉树的基本概念

二叉树的定义 一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。 二叉树的5种基本形态,任意一棵二叉树都由这...

大胖和二胖
2016/11/29
15
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里云建站

阿里云自营建站 没想到阿里云已经切入这块市场了。可以用拖动的方式来建站的模式,真的还是6.

miaojiangmin
23分钟前
2
0
linux系统top命令:virt,res,shr详解

VIRT:virtual memory usage 虚拟内存 1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等 2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用...

刘祖鹏
29分钟前
2
0
day154-2018-11-21-英语流利阅读-待学习

快手网红发明家:百万粉丝 vs 零销量 雪梨 2018-11-21 1.今日导读 “我做了一个‘雷神锤’的斜挎包,你看这里可以打开,里面可以装手机、卫生纸、钱包,觉得轻的话可以放一些砖头。咱们把它背...

飞鱼说编程
36分钟前
10
0
图灵奖得主华人高徒发布AI芯片!64位RISC-V、高度可编程,低功耗

作为RISC-V架构下的旗手玩家,睿思芯科自然希望通过产品展现出RISC-V可编程架构的巨大潜力。 https://mbd.baidu.com/newspage/data/landingshare?context=%7B%22nid%22:%22news_917924603675...

whoisliang
36分钟前
4
0
xcode 10 缺少 libstdc++6.0.9 解决方案

image.png 本方案基于xcode10正式版操作,其它版本请自行验证! 苹果在XCode10中移除了libstdc++(libstdc++.6、libstdc++6.0.9)库。 项目解决方法:删除libstdc++(libstdc++.6、libstdc++6....

壹峰
41分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部