迭代遍历: 一般我们提到树的遍历,最常见的有先序遍历,中序遍历,后序遍历和层序遍历,它们用递归实现起来都非常的简单。而题目的要求是不能使用递归求解,于是只能考虑到用非递归的方法,这就要用到stack来辅助运算。由于先序遍历的顺序是"根-左-右", 算法为: 1. 把根节点push到栈中 2. 循环检 ...
分类:
其他好文 时间:
2019-03-20 01:23:58
阅读次数:
186
1.BFS:树层序遍历 DFS:树先序遍历 均可判断是否为连通图,因为若为非联通的,一遍遍历访问不了所有结点。。 2.最小生成树 prim算法:贪心算法,先找最小权边,将此两点点作为点集合,再找离此集合最小权边的点加入,无限加入。 Kruskal算法:对所有点的集合里从小到大加入边(只要不构成回路) ...
分类:
编程语言 时间:
2019-03-19 21:33:43
阅读次数:
192
二叉树的遍历:从根节点出发,按在某种次序访问二叉树中的所有节点,使得每个节点有且只有被访问一次 遍历方式: ①前序遍历:根-左-右 ②中序遍历:左-根-右 ③后序遍历:左-右-根 ④层序遍历: 已知前序和中序或者已知中序和后续可以唯一确定一颗二叉树 已知前序和后序不能确定一颗二叉树 位示图:利用1位 ...
分类:
其他好文 时间:
2019-03-14 11:59:36
阅读次数:
184
L2-006 树的遍历 (25 分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。 输出格式: 在一行中 ...
分类:
其他好文 时间:
2019-03-09 01:29:50
阅读次数:
213
想使用层序遍历+动态规划的方法O(n)完成,被NULL节点不能加入queue<TreeNode*> q给卡住了,之后再看看怎么改;对这种含有NULL多的怎么层序啊啊啊啊啊啊; 先看看大佬的方法: python:非递归先序遍历+字典 ...
分类:
其他好文 时间:
2019-02-28 21:14:07
阅读次数:
169
1020 Tree Traversals Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, y ...
分类:
其他好文 时间:
2019-02-27 01:41:50
阅读次数:
212
一、收获 1.层序输出二叉树,需要一个队列作为中转,如图(将就),以及queue模板的使用 2.C++,当变量不好用时,可以考虑全局变量,虽然不太好,但是对于一个算法无妨 eg: const int MAX=1000;int arr[MAX][4]={0};int n=0;int dlmNum=1; ...
分类:
其他好文 时间:
2019-02-25 09:21:08
阅读次数:
195
给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 先是建树 快速套用模板 然后 他是按照层遍历 那就用bfs 如果按照某种序遍历 用dfs ...
分类:
其他好文 时间:
2019-02-17 16:40:00
阅读次数:
246
遍历的分类 前序遍历:621 43 8 中序遍历:1 23 46 8 后序遍历:1 34 28 6 层序遍历:6 28 14 3 ...
分类:
其他好文 时间:
2019-01-31 16:44:14
阅读次数:
168