7-11 玩转二叉树 (25 分) 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍 ...
分类:
其他好文 时间:
2019-03-21 01:23:36
阅读次数:
249
L2-011 玩转二叉树 (25 分) 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中 ...
分类:
其他好文 时间:
2019-03-20 20:45:17
阅读次数:
150
迭代遍历: 一般我们提到树的遍历,最常见的有先序遍历,中序遍历,后序遍历和层序遍历,它们用递归实现起来都非常的简单。而题目的要求是不能使用递归求解,于是只能考虑到用非递归的方法,这就要用到stack来辅助运算。由于先序遍历的顺序是"根-左-右", 算法为: 1. 把根节点push到栈中 2. 循环检 ...
分类:
其他好文 时间:
2019-03-20 01:23:58
阅读次数:
186
1.BFS:树层序遍历 DFS:树先序遍历 均可判断是否为连通图,因为若为非联通的,一遍遍历访问不了所有结点。。 2.最小生成树 prim算法:贪心算法,先找最小权边,将此两点点作为点集合,再找离此集合最小权边的点加入,无限加入。 Kruskal算法:对所有点的集合里从小到大加入边(只要不构成回路) ...
分类:
编程语言 时间:
2019-03-19 21:33:43
阅读次数:
192
请用顺序队列或链式队列来完成本题。 我们大多都有在银行排队的经历,唉,那坑爹的排队啊!现在就让我们来算算我们这些客户平均需要等多久吧。每天刚开始时银行会开m个窗口来为我们total个客户办理业务,当有客户需要办理业务时,先选择可以办理业务的窗口,如果有多个窗口可以办理业务就选择空闲时间最长的窗口,如 ...
分类:
其他好文 时间:
2019-03-18 13:42:27
阅读次数:
204
二叉树的遍历:从根节点出发,按在某种次序访问二叉树中的所有节点,使得每个节点有且只有被访问一次 遍历方式: ①前序遍历:根-左-右 ②中序遍历:左-根-右 ③后序遍历:左-右-根 ④层序遍历: 已知前序和中序或者已知中序和后续可以唯一确定一颗二叉树 已知前序和后序不能确定一颗二叉树 位示图:利用1位 ...
分类:
其他好文 时间:
2019-03-14 11:59:36
阅读次数:
184
L2-006 树的遍历 (25 分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。 输出格式: 在一行中 ...
分类:
其他好文 时间:
2019-03-09 01:29:50
阅读次数:
213
前面讲过用数组实现队列,这次看下用链表实现队列。 如有不对请提出,共同提高,谢谢!! ...
分类:
其他好文 时间:
2019-03-06 13:19:52
阅读次数:
137
想使用层序遍历+动态规划的方法O(n)完成,被NULL节点不能加入queue<TreeNode*> q给卡住了,之后再看看怎么改;对这种含有NULL多的怎么层序啊啊啊啊啊啊; 先看看大佬的方法: python:非递归先序遍历+字典 ...
分类:
其他好文 时间:
2019-02-28 21:14:07
阅读次数:
169
链式队列 用链表实现,链式队列就是一个操作受限的单向链表,如果读者了解单向链表的建立过程,那理解链式队列就很容易了,先回顾一下单向链表的建立过程 (不熟悉单向链表的可以先看看另一片随笔,再回来看链式队列理解起来更容易?https://www.cnblogs.com/lanhaicode/p/1030 ...
分类:
其他好文 时间:
2019-02-27 20:24:17
阅读次数:
225