在上一篇:二叉树基本操作 中,我们描述了二叉树的递归遍历函数。在这里主要是给出这些函数的测试代码,为了测试更加方便,我们实现了三个新的函数:建立二叉树、统计二叉树叶子节点数量、统计二叉树总节点数量。(二叉树的定义用上篇文章中的定义) 二叉树建立: 1 tree_pointer create_b...
分类:
其他好文 时间:
2014-06-28 22:22:38
阅读次数:
232
XPath 是 XML 的内容,这里 SelectNodes 是 C# 中XmlDocument 或 XmlNode 的一个方法。SelectNodes 使用 XPath 来选取节点。重要语法SelectNodes("item")从当前节点的儿子节点中选择名称为 item 的节点。SelectNod...
分类:
其他好文 时间:
2014-06-28 12:04:39
阅读次数:
172
哈夫曼算法原理Wikipedia上面说的非常清楚了,这里我就不再赘述,直接贴过来了。1952年, David A. Huffman提出了一个不同的算法,这个算法能够为不论什么的可能性提供出一个理想的树。香农-范诺编码(Shanno-Fano)是从树的根节点到叶子节点所进行的的编码,哈夫曼编码算法却是...
分类:
其他好文 时间:
2014-06-26 21:36:45
阅读次数:
437
原文:06. 父子节点(树)遍历写法小结对于树/图的遍历,通常有2种算法来实现:迭代(Iteration)和递归(Recursion),迭代是利用循环反复取值/赋值的过程;递归则是反复自己调用自己来获得最终结果。SQL Server里的递归有32层嵌套限制,目的在于防止代码进入死循环,除非使用提示O...
分类:
其他好文 时间:
2014-06-25 23:44:46
阅读次数:
276
Trie树,也称为字典数,前缀树,每个单词的每个字母按照顺序对应一个节点。有重合的前缀就共享节点。理想情况下(满的情况),假若所有的单词都是N长,则树共有N层,每层都是26个子节点。在程序上,将根节点编号为0,根节点不代表任何字符。
在程序的实现上,树可以用数组存储,也可以用指针实现,这里介绍简单的数组方法实现。
用一个child[i][j]保存节点i的编号为j的子节点序号,j对应26个字母,...
分类:
其他好文 时间:
2014-06-24 20:52:03
阅读次数:
268
【题目】
Given a binary tree, find the maximum path sum.
The path may start and end at any node in the tree.
For example:
Given the below binary tree,
1
/ 2 3
Return 6.
【题意】
给定一棵二叉树,找出其中路径和最大的路径,然会返回最大路径和。
本题中的路径不是从根节点到叶子节点这样的传统的路...
分类:
其他好文 时间:
2014-06-24 20:42:59
阅读次数:
268
红黑树
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
什么是红黑树呢?顾名思义,跟枣树类似,红黑树是一种叶子是黑色果子是红色的树。。。
当然,这个是我说的。。。
《算法导论》上可不是这么说的:
如果一个二叉查找树满足下面的红黑性质,那么则为一个红黑树。
1)每个节点或是红的,或者是黑的。
2)每个叶子节点...
分类:
其他好文 时间:
2014-06-24 20:41:40
阅读次数:
248
本题也是挺特别的题目,因为要递归到树的叶子节点然后初始化。
一开始看题也很困难,以为只是一条路径的最大获利计算,使用保存路径,然后DP,结果WA了。
原来本题是需要分路径探索的,就是说每一个分岔路都可以分兵探索下去,如果兵力不足就结束,看最大收益是多少。
题目并没有说的那么清楚,也许看题目也考人的IQ吧,要放聪明点。
本题是考人的递归能力,动态规划法能力,总结起来难度还是很高的。
...
分类:
其他好文 时间:
2014-06-24 18:24:25
阅读次数:
167
题目:输入一棵BST,将该BST转换成一个排序的双向链表要求不能创建新的结点,只能调整树中结点指针的指向在BST中,左子节点的值 小于父节点的之, 父节点的值小于 右子节点的值因此我们在转换成有序的双向链表时,原先指向左子节点的指针调整为链表中指向前一个结点的指针原先指向右子节点的指针调整为链表中指...
分类:
其他好文 时间:
2014-06-24 13:38:31
阅读次数:
243
要实现的效果:
1、父节点选中,则下面的子节点全选中
2、父节点不选中,则下面的子节点全不选中
3、子节点只要选中了一个,则父节点选中
4、子节点全不选中,则父亲节点不选中
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getSer...
分类:
Web程序 时间:
2014-06-22 14:59:13
阅读次数:
311