![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
文章平均质量分 89
__矮油不错哟
多多交流
展开
-
数据结构——树
图片来源:https://www.cnblogs.com/willwu/p/6007555.html 树其实就是不包含回路的连通无向图。 树的特性: 1)一棵树中的任意两个结点有且仅有唯一的一条路径连通; 2)一棵树如果有nnn个结点,则它一定有n−1n−1n-1条边; 3)在一棵树中加一条边将会构成一个回路。 树这种数据结构的用途: 例如:家族的族谱图、公司的组织结构图、书的目录等...原创 2018-05-22 11:49:36 · 7631 阅读 · 0 评论 -
《剑指offer》面试题6——重构二叉树——已知 前序遍历和中序遍历,求后序遍历(C++)
给定二叉树的前序遍历和中序遍历,,输出后序遍历结果。 代码: #include <iostream> #include <vector> using namespace std; struct TreeNode { int val; TreeNode *left; TreeNode *right;转载 2018-05-22 20:38:47 · 799 阅读 · 0 评论 -
《剑指offer》面试题18——树的子结构(C++)
题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路: 链接:https://www.nowcoder.com/questionTerminal/6e196c44c7004d15b1610b9afca8bd88 来源:牛客网 思考: 1.首先需要递归pRoot1树,找到与pRoot2根一样的节点,这需要一个遍历 2.找到相同...转载 2018-05-22 22:02:43 · 747 阅读 · 0 评论 -
《剑指offer》面试题19——二叉树的镜像(C++)
操作给定的二叉树,将其变换为源二叉树的镜像。 递归思想。 代码: #include<iostream> #include <vector> #include <queue> using namespace std; struct TreeNode { int val; struct TreeNode *left; ...原创 2018-05-23 11:32:59 · 217 阅读 · 0 评论 -
二叉搜索树
二叉搜索树的定义 二叉搜索树,也称有序二叉树,排序二叉树,是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 任意节点的左、右子树也分别为二叉查找树。 没有键值相等的节点。 ...转载 2018-05-23 11:52:59 · 119 阅读 · 0 评论 -
《剑指offer》面试题24——二叉搜索树的后序遍历序列(C++)
1.题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 2.解题思路: 链接:https://www.nowcoder.com/questionTerminal/a861533d45854474ac791d90e447bafd 来源:牛客网 采用分治法的思想,找到根结点、左子树的序列、...原创 2018-05-23 13:32:17 · 245 阅读 · 0 评论 -
《剑指offer》面试题25——二叉树中和为某一值的路径
题目描述: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 代码: //主函数——核心代码 vector<vector<int> > allRes; vector<int> tmp; void bfsFind(TreeNode* node, int expectN...原创 2018-05-23 15:58:06 · 146 阅读 · 0 评论