![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
小漫cool
测试小白,初入职场,在测试领域还有很多东西要学习,会在博客上记录日常工作中自己的思考或看法,欢迎大家一起来交流,只有学习,才能永远进步
展开
-
完全二叉树 和 满二叉树的区别
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-08-09 13:43:40 · 16733 阅读 · 0 评论 -
二叉树的基本概念 结点、度、层、森林、前辈(总结性,易理解)
原创 2021-08-06 14:02:45 · 727 阅读 · 0 评论 -
对称的二叉树—剑指offer—28】
请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1原创 2021-06-22 17:11:57 · 87 阅读 · 0 评论 -
【二叉树的镜像—剑指offer—27】leetcode题解
请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]思路:这两棵树,可以看到根节点是相同的,它的左右节点互换了位置,交换位置后,下来左右节点的左右子节点也交换了位置,,,,,一直到节原创 2021-06-22 14:54:11 · 73 阅读 · 0 评论 -
一棵完全二叉树第六层有9个叶子结点(根为第一层),则结点个数最多有(109个)
一棵完全二叉树第六层有9个叶子结点(根为第一层),则结点个数最多有(109个)根据二叉树的性质如图:可知,第六层的结点数最多有为2^(6-1) = 32个,现在有9个叶子节点,所以还剩32-9 = 23 个结点拥有左右子树,所以第七层为23*2 = 46个结点。根据另一个性质:算出前六层最多有2^6 -1 = 63总结点数为:63+46 = 109。...原创 2021-05-15 11:21:41 · 5108 阅读 · 5 评论 -
2021-02-02
给出以下代码public class TestObj{ public static void main(String[] args){ Object o=new Object(){ public boolean equals(Object obj){ return true; } }; System.out.println(o.equals(“Fred”)); }} 请给出结果:(B)结果为true;作业内容A.运行时原创 2021-02-02 01:25:20 · 513 阅读 · 0 评论 -
617. 合并二叉树
合并二叉树给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 1 2 .原创 2021-01-31 02:21:17 · 133 阅读 · 0 评论 -
LeetCode102题:二叉树的层序遍历
二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层序遍历结果:[ [3], [9,20], [15,7]]/** * Definition for a binary tree node. * public class TreeNode { * int va.原创 2021-01-30 20:36:07 · 71 阅读 · 0 评论 -
LeetCode110题:给定一个二叉树,判断它是否是高度平衡的二叉树(两种方法求解)时间复杂度分别为0(n)、0(n²)
平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例 3:输入:root = []输出:true提示:树中的节点数在范围 [0, 5000] 内-104 <= Node..原创 2021-01-30 18:57:42 · 182 阅读 · 0 评论 -
LeetCode101题:判断一个树是否是对称二叉树
对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3代码:/** * Definition for a binary tree node. * public class TreeNode { * .原创 2021-01-30 02:31:34 · 140 阅读 · 0 评论 -
Leetcode572题:判断一个树是否是另一个树的子树
另一个树的子树给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。示例 2:给定的树 s: 3 / \ 4 5 / \.原创 2021-01-30 01:58:07 · 260 阅读 · 0 评论 -
LeetCode100:判断两棵树是否相同。
相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1 / \ 2 .原创 2021-01-30 00:49:26 · 134 阅读 · 0 评论 -
二叉树的基本操作(代码示例及测试类代码及运行截图)
二叉树的基本操作// 前序遍历void preOrderTraversal(Node root);// 中序遍历void inOrderTraversal(Node root);// 后序遍历void postOrderTraversal(Node root);// 遍历思路-求结点个数static int size = 0;void getSize1(Node root);// 子问题思路-求结点个数int getSize2(Node root);// 遍历思路-求叶子结点个数s原创 2021-01-28 00:21:48 · 2298 阅读 · 0 评论 -
二叉树的三种遍历方式-前序遍历,中序遍历,后序遍历
二叉树的遍历所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题(比如:打印节点内容、节点内容加1)。 遍历是二叉树上最重要的操作之一,是二叉树上进行其它运算之基础。在遍历二叉树时,如果没有进行某种约定,每个人都按照自己的方式遍历,得出的结果就比较混乱,如果按照某种规则进行约定,则每个人对于同一棵树的遍历结果肯定是相同的。如果N代表根节点,L代表根节点的左子树,R代表根节点的右子树,则根据遍历根节点的先后次序有以下遍历方式原创 2021-01-26 20:35:11 · 1740 阅读 · 0 评论 -
将一棵二叉树的根结点放入队列,然后递归的执行如下操作,将出队结点所有子结点加入队。以上操作可以实现哪种遍历?
将一棵二叉树的根结点放入队列,然后递归的执行如下操作,将出队结点所有子结点加入队。以上操作可以实现哪种遍历?A.前序遍历B.中序遍历C.后序遍历D.层序遍历答案解析:D根节点出队,子结点入队,则队列中恰好为第一层的所有节点,将第一层节点依次出队,子结点入队,队列中为第二层所有节点,以此类推为层序遍历...原创 2021-01-26 00:06:24 · 965 阅读 · 0 评论 -
设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是
3.设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是A.中序序列B.前序序列C.后序序列D.前序序列或后序序列答案解析:正确答案 : A 解析:【解析】前序遍历:访问根结点在访问左子树和访问右子树之前。即先访问根结点,然后遍历左子树,最后遍历右子树;并且在遍历左子树和右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历:访问根结点在访问左子树和访问右子树两者之间。即先原创 2021-01-25 23:59:43 · 2649 阅读 · 0 评论 -
2.将一颗有 100 个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根节点编号为 1 ,则编号为 98 的节点的父节点编号为
2.将一颗有 100 个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根节点编号为 1 ,则编号为 98 的节点的父节点编号为A.47B.48C.49D.50答案解析:C完全二叉树对于偶数节点其父节点编号为其编号除以2,奇数节点其父节点编号为(其编号-1)/298为偶数,其父节点编号为98/2=49...原创 2021-01-25 23:53:17 · 9881 阅读 · 0 评论 -
n个节点的二叉树,最多可以有多少层? D
1.n个节点的二叉树,最多可以有多少层?A.n/2B.log(n)C.n-1D.n答案解析:D假设从根节点开始,根节点的层数为1,每一层一个节点,则有n层。原创 2021-01-25 23:24:20 · 3529 阅读 · 1 评论