迭代遍历: 一般我们提到树的遍历,最常见的有先序遍历,中序遍历,后序遍历和层序遍历,它们用递归实现起来都非常的简单。而题目的要求是不能使用递归求解,于是只能考虑到用非递归的方法,这就要用到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~15 的数字典序排序后为 1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9 此时给定 n k, 求1~n的数组字典序排序后 第k个数是什么 题解 枚举数的第一位 搜下去继续枚举下一位 直到超过n就回溯 先序遍历到第k个输出 #in ...
分类:
其他好文 时间:
2019-03-19 18:34:17
阅读次数:
144
是个以前没见过的模板题。。 我用比较复杂度方式过掉了。。 构造一个十叉树(有点trie的味道)来存数字,然后字典序就是先序遍历的结果 ...
分类:
其他好文 时间:
2019-03-19 01:19:43
阅读次数:
145
递归先序遍历+vector容器记录路径 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeN... ...
分类:
其他好文 时间:
2019-02-28 22:52:26
阅读次数:
244
想使用层序遍历+动态规划的方法O(n)完成,被NULL节点不能加入queue<TreeNode*> q给卡住了,之后再看看怎么改;对这种含有NULL多的怎么层序啊啊啊啊啊啊; 先看看大佬的方法: python:非递归先序遍历+字典 ...
分类:
其他好文 时间:
2019-02-28 21:14:07
阅读次数:
169
树的dfs序指从根节点进行dfs(先序遍历),每次到达某个点的时间和离开这个点的时间.它可以将树上的问题转换成序列问题进行处理. 比如对于p1539的样例可以这样解释. 每个点的左边数字表示进入该点的"时间",右边的数字表示离开该点的"时间".对dfs序的介绍就到这里. 然后来看一个例题: 先读入边 ...
分类:
其他好文 时间:
2019-02-24 10:22:22
阅读次数:
221
题目描述 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC DE G F 其中“ ”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。 输入描述: 输入包括1行字符串,长度不超过1 ...
分类:
其他好文 时间:
2019-01-14 23:03:12
阅读次数:
252
二叉树的遍历: 遍历方法一般有四种,先序遍历、中序遍历、后序遍历、层次遍历,前三种的前中后指的是根结点root在遍历中的位置。 推论:中序序列可以与先序序列、后序序列、层序序列中的任意一个来构建唯一的二叉树 例如:先序序列和中序序列搭配: ...
分类:
其他好文 时间:
2019-01-11 20:12:59
阅读次数:
239