题意:有n个人,有上下级关系,有m个操作,有两种操作1.把一个任务分给某个人,他的下属也会停下手中工作和他一起做;2.查询某个人的当前任务是什么? 解题:n-1个关系,总有一个人没有上级,以他为根节点用dfs搜索整张图可以得到一棵树,按“根左右”先序遍历,根表示自己,遍历到最右边的儿子结束,这段区间 ...
分类:
其他好文 时间:
2019-07-21 01:18:07
阅读次数:
129
一、二叉树 存储: 1.线性存储 2.链式存储 遍历: 1.先序遍历 2.中序遍历 3.后序遍历 4.先序遍历堆栈(转自https://blog.csdn.net/weixin_37983220/article/details/84109033 ) 5.中序遍历堆栈 6.后序遍历堆栈 7.层次遍历输 ...
分类:
其他好文 时间:
2019-07-20 10:05:16
阅读次数:
98
三种遍历的基本思想 先序遍历:根节点 -> 左子树 -> 右子树 中序遍历:左子树 -> 根节点 -> 右子树 后序遍历:左子树 -> 右子树 -> 根节点 如,以下二叉树遍历: 先序遍历结果:1 2 4 5 7 8 3 6 中序遍历结果:4 2 7 5 8 1 3 6 后序遍历结果:4 7 8 5 ...
分类:
其他好文 时间:
2019-07-16 18:16:09
阅读次数:
105
这玩意儿基本上还是遍历的那一套, 这里使用先序遍历的方式,直接对左右子树进行对调即可。 (虽然看题目的时候,感觉都一样,但真正写出来之后,印象还是深刻了很多) ...
分类:
其他好文 时间:
2019-07-01 09:13:37
阅读次数:
97
用递归的方法实现前序遍历,中序遍历,后序遍历: 用非递归的方法实现前序遍历,中序遍历,后序遍历: 为什么用栈来实现遍历二叉树,而不用队列? 因为树是一个自上而下的结构,只有从上到下的路径,所以需要想一个能让它回去的路径的方法,那就是使用栈。 2、中序遍历后继节点: 如果一个节点X如果有右子树,那么X ...
分类:
其他好文 时间:
2019-06-18 17:02:36
阅读次数:
124
1.前序遍历 前序遍历(DLR,lchild,data,rchild),是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。 前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左 ...
分类:
其他好文 时间:
2019-06-17 01:23:09
阅读次数:
128
题解 先序遍历树1,判断树1以每个节点为根的子树是否包含树2的拓扑结构。 时间复杂度:O(M N) 注意区分判断总体包含关系、和判断子树是否包含树2的函数。 代码 ...
分类:
其他好文 时间:
2019-06-13 00:56:06
阅读次数:
130
题目描述 树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。 假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。 输入格式 共两行,每行是由字母组成的字符串(一行的每个字符都是唯一的),分别表 ...
分类:
其他好文 时间:
2019-06-07 19:35:19
阅读次数:
123
题目描述: 实现两个函数。分别用来序列化和反序列化二叉树 思路分析: 序列化指的就是,将二叉树转化为字符串序列,反序列化指的就是将字符串转化为二叉树。我们可以用先序遍历将二叉树转化为字符串,遇见节点为空记做 !,不为空记做 num!。同样的我们可以用先 ...
分类:
其他好文 时间:
2019-06-01 23:21:14
阅读次数:
102
1,二叉树是否只有一种遍历方式(层次遍历)? 2,典型的二叉树的遍历方式: 1,先序遍历(Pre-Order Traversal); 2,中序遍历(In-Order Traversal); 3,后序遍历(Post-Order Traversal); 3,先序遍历(“先序”指最先访问根结点中的数据元素 ...
分类:
其他好文 时间:
2019-05-26 16:24:37
阅读次数:
148