题目描述 我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1。根节点的深度为 0)。 如果节点只有一个子节点,那么保证该子节点为左子节点。 给 ...
分类:
其他好文 时间:
2020-06-18 10:29:35
阅读次数:
52
1,学习内容小结: 图:(1)存储结构: 邻接矩阵 :适用于稀疏图,顶点较多 & 邻接表 :适用于稠密图,顶点较少或无需记录权值 (2)遍历:深度优先搜索(DFS):类似先序遍历 广度优先搜索(BFS) :类似层次遍历 (3)应用:<1>最小生成树(不是唯一的,但权值一定是一样的;若由程序得出则一定 ...
分类:
其他好文 时间:
2020-06-14 23:53:07
阅读次数:
103
题目描述: 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回深度为3 深度优先遍历:先序遍历,可递归,可用栈 //C 递归 int maxDepth(st ...
分类:
其他好文 时间:
2020-06-13 10:36:10
阅读次数:
57
前序遍历NLR:前序遍历(PreorderTraversal)又叫先序遍历。遍历顺序为:根节点—>左子树—>右子树,所以上图前序遍历的结果为ABDECFG代码实现:publicvoidprevOrder(TreeNoderoot){//递归方式if(root==null){return;}System.out.print(root.val);prevOrder(root.left);p
分类:
其他好文 时间:
2020-06-09 09:34:36
阅读次数:
55
一、技术总结 这里题目意思就是,知道二叉树的前序遍历和后序遍历怎么知道二叉树的结构,因为我们知道只有知道了中序遍历才可以唯一确定二叉树,所以以上的情况出来的结果可能是不唯一的。 那么我们怎么去确定它是否唯一是一个值得思考的点,我们如果发现先序遍历抛开最开始的根结点后的第一个结点(左子树或则是右子树的 ...
分类:
其他好文 时间:
2020-06-04 20:10:21
阅读次数:
64
一、易懂的形象理解 其实从名字就可以很好的理解这三种遍历,我在第二点时候说,但是估计能翻到我的文的同学们之前肯定看过好多类似的了,那咱们换个思路~ 先用我想的一种简单易懂的形象思维理解一下前序、中序、后序 +层序! 1、先序遍历 先序遍历可以想象成,小人从树根开始绕着整棵树的外围转一圈,经过结点的顺 ...
分类:
其他好文 时间:
2020-06-02 16:09:08
阅读次数:
556
第五章学习了树与二叉树等相关内容 具体有如何去遍历一颗二叉树,分为层次遍历,先序遍历,中序遍历和后序遍历。其次还有最优的哈夫曼树,怎么去构造一棵哈夫曼树,从低往上构造等等。以及树的构造中会用到的链式存储及顺序存储结构还有借助数组来解决相关问题,定义树时采用的是递归的方式。 #include<iost ...
分类:
其他好文 时间:
2020-05-30 16:05:52
阅读次数:
78
【先序遍历】DLR:先根再左再右:A->B->C-D->E->F->G->H [中序遍历] LDR:先左再根再右:B->D->C->E->A->F->H->G 【后序遍历】LRD:先左再右再中:D->E->C->B->H->G->F->A 图(1) 【先序遍历】DLR:先根再左再右:A->B->D- ...
分类:
其他好文 时间:
2020-05-23 16:37:39
阅读次数:
124
class Solution { public: void preorderTraversal(TreeNode* root) { //1.先逐个访问左路结点,并将其入栈 //2.再访问栈顶元素的右子树 stack<TreeNode*> helper; TreeNode* cur=root; //只 ...
分类:
其他好文 时间:
2020-05-22 00:09:07
阅读次数:
59
思路: 给出二叉树的先序和中序遍历 要求求出后序遍历 我们知道根据先序遍历和另外一种遍历我们 可以建立以可二叉树,但是应该存在一种更简单的 办法使得不用建树也能够成功得到序列 首先我们都知道: 1. 先序遍历的第一个结点一定是根节点 2. 后序遍历的最后一个结点一定是根节点 我们只需要在中序遍历中找 ...
分类:
其他好文 时间:
2020-05-21 19:36:07
阅读次数:
43