一、深度 递归版本 非递归版本 思想:二叉树的深度就是指二叉树有几层,那么我们可以使用层序遍历来实现。 二、宽度 思想:二叉树的宽度就是最宽的那一层的节点数,所以还是需要层序遍历的思想,先计算每层的结点数,然后找出最大的。 ...
分类:
其他好文 时间:
2018-08-16 13:40:09
阅读次数:
114
二叉树的定义:二叉树是每个结点最多有两个子树的树结构。性质:1、在二叉树的第i层上至多有2^i-1个结点。(i>=1) 2、深度为k的二叉树至多有(2^k)-1个结点。(k>=1) 3、具有n个结点的完全二叉树的深度为(log2n)+1。 &
分类:
其他好文 时间:
2018-08-13 16:58:53
阅读次数:
138
堆排复习: 结论:堆排算法时间复杂度为O(nlgn),额外空间复杂度为O(1); 在开始堆排序过程之前先要熟悉两个结构 1,完全二叉树:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(摘自百度百科) ...
分类:
编程语言 时间:
2018-08-06 00:40:26
阅读次数:
140
publicinterface IBiTree<E> { //返回根节点 TreeNode<E> getRoot(); //返回fnode的左子树 TreeNode<E> getLeftChild(TreeNode<E> fnode); //返回fnode的右子树 TreeNode<E> getRi ...
分类:
编程语言 时间:
2018-07-28 13:40:40
阅读次数:
161
遇到此问题的时候,如果运行递归要返回值的话,一般可以这样写 return 后面接递归的函数。 题目一:数字在排序数组中出现的次数 题目二:二叉树的深度 ...
分类:
其他好文 时间:
2018-07-11 21:25:33
阅读次数:
131
参考链接:https://blog.csdn.net/u013276277/article/details/78575033 题目一:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 题目二:输入一棵二叉树的根节点,判断 ...
分类:
其他好文 时间:
2018-07-10 01:18:58
阅读次数:
166
1、104. 二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 2、111. 二叉树的最小深度 给定一个二 ...
分类:
其他好文 时间:
2018-06-23 19:12:01
阅读次数:
140
Easy! 题目描述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 解题思路: 求二叉树的最大深度问题用到深度优先搜索 ...
分类:
其他好文 时间:
2018-06-10 15:30:09
阅读次数:
177
树的一些基本术语:(针对我个人觉得要必要列出来的 结点的度:结点拥有的子树数。 树的度:树内各结点度的最大值。 非终端结点:度不为0的结点称为非终端结点或分支结点。除根结点外,非终端结点也称为内部结点。 层次:根为第一层,不是第零层。 树的深度:树中结点的最大层次,深度也称为高度。 森林:是m(m> ...
分类:
其他好文 时间:
2018-05-30 13:23:49
阅读次数:
183
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 思路:这是个很简单的题目,之所以写一篇总结,是因为在编程中遇到了一点认为值 ...
分类:
其他好文 时间:
2018-05-25 19:27:09
阅读次数:
186