把三个二叉树遍历的题放在一起了。递归写法太简单,就不再实现了,每题实现了两种非递归算法。一种是利用栈,时间和空间复杂度都是O(n)。另一种是借助线索二叉树,也叫Morris遍历,充分利用树中节点的空指针域。先序:Binary Tree Preorder TraversalGiven a binary...
分类:
其他好文 时间:
2014-10-03 23:07:55
阅读次数:
341
导读:本文实现了一个简单的select列表选项的上移下移操作,可帮助读者了解jQuery选择器,节点操作的一些常用方法实现的效果:分享代码: 1 2 3 4 5 6 7 移动节点 8 9 10 50 51 52 53 54 67 ...
分类:
Web程序 时间:
2014-10-03 20:29:55
阅读次数:
352
Java的过滤流和节点流的定义划分如下图示:--->IO流理论参见Java教程总结随笔10,如下图示:Java的输入流和输出流的工作机制,如下图示:仔细体会,有助于理解各种IO流之间的关系。
分类:
编程语言 时间:
2014-10-03 20:14:55
阅读次数:
222
哈夫曼算法原理Wikipedia上面说的非常清楚了,这里我就不再赘述,直接贴过来了。1952年, David A. Huffman提出了一个不同的算法,这个算法能够为不论什么的可能性提供出一个理想的树。香农-范诺编码(Shanno-Fano)是从树的根节点到叶子节点所进行的的编码,哈夫曼编码算法却是...
分类:
其他好文 时间:
2014-10-03 19:15:55
阅读次数:
316
题目链接:hdu 1540 Tunnel Warfare
题目大意:有连续的N个城镇,三种操作:
D x:第x城镇被破坏Q x:插叙第x城镇所在联通块有多少个城镇没有被破坏R:修复最后一个被破坏的城镇
解题思路:线段树区间合并,每个城镇看成一个叶子节点,用一个vector记录破坏顺序。对于查询来说,每次只要判断是否在mid?R[lson(u)],mid+L[rson(u)]之间即...
分类:
其他好文 时间:
2014-10-03 13:05:44
阅读次数:
256
ZORDER:是描述渲染顺序的值,每个CCNode都有ZORDER
默认是0
ZORDER越大,越后面绘制
如果ZORDER相同,那么看arrival顺序,先加入的节点先绘制
ZORDER只在相同父节点的节点之间进行比较...
分类:
其他好文 时间:
2014-10-03 11:10:24
阅读次数:
188
DFS实现步骤如下:
①访问顶点V,并标记V已经访问
②查找V的第一个邻接顶点w
③若W存在,则继续执行,否则算法结束
④若W未被访问,则使用DFS递归访问w
⑤查找V的下一个邻接节点,并记为W,转到步骤③
对上图进行DFS,则访问顺序为
A B D C E
使用伪代码如下:
Vector G[maxn]
int vis[maxn]
void dfs(int u)...
分类:
其他好文 时间:
2014-10-03 11:05:14
阅读次数:
194
并查集是解决集合之间关系的一种很好理解的数据结构就相当于将一个个集合合并成一棵树然后将每个节点都只想根节点主要两个操作是join(a,b);将两个节点合并在一起 find(x);查找x的根节点时间复杂度为树的高度O(h)如果数据特别没节操就会卡成一条链 就成O(n)的时间复杂度了优化有两种方法 其中...
分类:
其他好文 时间:
2014-10-03 10:58:54
阅读次数:
177
题意:给出一个标准2-3树的叶子节点(最底层节点)个数 L,求2-3数的形成方案数并取余分析:如果有L个叶子枚举每个可以使x*2+y*3=L的xy 那么在最底层就有c(x+y,x)种2,3的放法上一层就是有x+y个叶子的子问题这样就可以递推算了枚举时首先注意到 x=L y=-L 是一组特解,因此可以...
分类:
其他好文 时间:
2014-10-03 10:26:04
阅读次数:
201
题目见here
题意:给一个序列arr[],你从中选择一些子序列,将子序列的值从左往右依次放到某棵二叉树的叶子节点上,使得除了叶子,所有节点左右子树权和相等。子树的权和 = 子树叶子的权和。如果存在这样一棵二叉树,选择的子序列就是合法的。问,最长的合法子序列是多少。
思路:
枚举二叉树可能的叶子的最小权(入手点),显然,能和此数一起组成二叉树的数,要么和这个数相等,要么是这个数的2^k倍。把...
分类:
其他好文 时间:
2014-10-03 02:05:43
阅读次数:
259