二叉查找树又称二叉排序树,它要么是空树,要么是具有下列性质的二叉树: 每个节点都有一个作为查找依据的关键码。所有节点的关键码互不相同; 若它的左子树不为空,则左子树上所有节点的关键码均小于根节点的关键码; 若它的右子树不为空,则右子树上所有节点的关键码均大于根节点的关键码; 它的左、右子树也是二叉查 ...
分类:
其他好文 时间:
2021-07-22 17:42:22
阅读次数:
0
请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 具体来讲就是加入以根结点为中心画一条垂线,则从垂线往左右两边移动时,遇到的节点的值一定一样。这里需要借助辅助函数来对比左右节点,所以要构建辅助函数。 /** * Definition for a bina ...
分类:
其他好文 时间:
2021-06-07 19:58:23
阅读次数:
0
1、二叉查找树 首先,让我们先看一张图: 从图中可以看到,我们为 user 表(用户信息表)建立了一个二叉查找树的索引。 图中的圆为二叉查找树的节点,节点中存储了键(key)和数据(data)。键对应 user 表中的 id,数据对应 user 表中的行数据。 二叉查找树的特点就是任何节点的左子节点 ...
分类:
其他好文 时间:
2021-06-02 20:13:17
阅读次数:
0
二叉搜索里左子树的值都小于根节点的值,右子树的值都大于根节点的值,如果按从小到大顺序排的话,顺序是跟中序遍历一致的,首先想到的思路是对树进行中序遍历,用一个vector把每个节点都存起来,然后将每个节点双向连接起来,但显然并不是出题者想看到的方法。于是开始往递归的方向想,首先想到的是将根节点左边与左 ...
分类:
其他好文 时间:
2021-05-24 16:37:01
阅读次数:
0
难度 medium 给定一个根为 root 的二叉树,每个节点的深度是 该节点到根的最短距离 。 如果一个节点在 整个树 的任意节点之间具有最大的深度,则该节点是 最深的 。 一个节点的 子树 是该节点加上它的所有后代的集合。 返回能满足 以该节点为根的子树中包含所有最深的节点 这一条件的具有最大深 ...
分类:
其他好文 时间:
2021-05-24 02:49:50
阅读次数:
0
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它可以是一棵空树,也可以是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉搜 ...
分类:
其他好文 时间:
2021-04-21 12:31:46
阅读次数:
0
1.构造二叉树的必要条件 必须需要中序遍历和一个前序或者中序遍历 构造二叉树=前序+中序 =后序+中序 2.那如何根据中序和后序遍历去构造二叉树呢? 比如给出 inorder(中序)=[9,3,15,27] postorder(后序遍历)=[9,15,7,20,3] 就可以构造出一个唯一的二叉树: ...
分类:
其他好文 时间:
2021-04-20 14:03:16
阅读次数:
0
题目: 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 true 。示例 2: 给定二叉树 [1,2 ...
分类:
其他好文 时间:
2021-04-12 12:06:54
阅读次数:
0
根据题目意思,实际上我们计算出左右子树的高度相加后即为结果(实际还需-1) 1.深度优先遍历 时间O(n),空间O(h) class Solution { int max= 0; public int diameterOfBinaryTree(TreeNode root) { def(root); ...
分类:
其他好文 时间:
2021-04-12 11:46:11
阅读次数:
0
https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof/ 一开始看成完全对称树了 如果根节点为空就返回 true,看根节点的左右子树是否成手型就行 再说 rec(l, r) 先看临界条件就是到树底都为空就返回 true若都只有一个为 ...
分类:
其他好文 时间:
2021-03-16 13:30:24
阅读次数:
0