一.描述 通过二叉树带条件的求和来更好的理解递归 可以参考前两篇文章 一个简单的二叉树的例子来理解递归 二叉树和BST的递归,带条件 二.左叶子求和 来源:https://leetcode-cn.com/problems/sum-of-left-leaves/ 题意为求左叶子节点的值的和 之前文章提 ...
分类:
其他好文 时间:
2021-01-02 11:46:41
阅读次数:
0
题目描述 题目链接 一棵二叉树可以按照如下规则表示成一个由 \(0、1、2\) 组成的字符序列,我们称之为 “二叉树序列 \(S\)”: $S= \begin 0 \ \ \ \ \ \ \ \ \ \ 表示该树没有子节点 \newline 1S_1 \ \ \ \ \ \ 表示该树有一个子节点,S ...
分类:
其他好文 时间:
2021-01-02 11:15:58
阅读次数:
0
前序 class Solution { public: vector<int> preorderTraversal(TreeNode* root) { vector<int> res; if (root == nullptr) { return res; } stack<TreeNode*> stk ...
分类:
其他好文 时间:
2021-01-01 12:36:16
阅读次数:
0
哈夫曼编码是一种变长编码,根据字符频率确定编码的长度。在学习数据结构时,我们知道,通过贪心的策略自底向上构造二叉树,最后得到哈夫曼树。从根节点遍历,便可以得到编码。 本文给出了经典教材《数据结构》一书上算法6.12的具体实现细节。 类型定义 构造二叉树的过程为:初始为全部字符的 \(n\) 个叶子节 ...
分类:
其他好文 时间:
2020-12-31 12:06:38
阅读次数:
0
题目链接:重建二叉树 思路:根据前序和中序的排列规律,在中序遍历时,根节点的左边是左子树结点,右边是右子树结点,而前序遍历中首先出现根结点,紧接着根结点的是左子树结点,然后是右子树结点。所以,我们只需要确定在前序和中序中根结点的位置,通过根结点可以知道左子树和右子树结点的位置,该问题便转化为根据左右 ...
分类:
其他好文 时间:
2020-12-31 11:57:08
阅读次数:
0
Elasticsearch 是一种高度可伸缩的全文检索和分析引擎,其底层基于 Apache Lucene,Lucene 本身早就是一种闻名于世的全文检索和工具包。Elasticsearch 在其基础上进行了封装,不仅继承了 Lucene 的所有优点,还大大降低了使用和开发的复杂度。 不仅如此,ES ...
分类:
其他好文 时间:
2020-12-30 10:41:22
阅读次数:
0
背景知识: 完全二叉树:除了最后一层,所有层的节点数达到最大,与此同时,最后一层的所有节点都在最左侧。(堆使用完全二叉树) 满二叉树:所有层的节点数达到最大。一棵层数为 h 的满二叉树,其节点数为2^h - 1个。 思路1:层序遍历 或 递归 遍历整棵树。 但没用到 完全二叉树 的性质。。不可取 思 ...
分类:
其他好文 时间:
2020-12-29 11:35:11
阅读次数:
0
数据结构是一种特殊的组织和存储数据的方式,使我们可以更高效的对存储的数据执行操作。以下介绍常用的数据结构中的特殊树结构——二叉树。 二叉树是一种特殊的树结构,也是最常用的树结构,其存储和处理比一般树简单,一般树可以通过简单的转换得到与之对应的二叉树。 二叉树的定义: 二叉树是n个结点所构成的集合,或 ...
分类:
其他好文 时间:
2020-12-29 11:03:09
阅读次数:
0
二叉树的锯齿形层序遍历 题目: 给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回锯齿形层序遍历如下: [ [3], [2 ...
分类:
其他好文 时间:
2020-12-28 11:27:02
阅读次数:
0
☆☆☆思路:剑指18.二叉树的镜像 方法1:递归。二叉树此类递归问题,要以根节点为目标点进行分析。 思路1:首先分别翻转根节点的左右子树,然后交换左右子树的位置即可。 思路2:也可以先交换左右子树的位置,然后再分别翻转根节点的左右子树。 方法2:BFS层序遍历 层序遍历树的所有节点,然后交换其左右节 ...
分类:
其他好文 时间:
2020-12-28 11:24:22
阅读次数:
0