BSTTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 8657Accepted: 5277DescriptionConsider an infinite full binary search tree (see the figure ...
分类:
其他好文 时间:
2014-10-30 09:27:09
阅读次数:
237
基数树(radix tree)是一种不怎么常见的数据结构,这里简单的做一下介绍:在计算机科学中,基数树,是一种基于trie(字典树)的特殊的数据结构,可以快速定位叶子结点。radix tree是一种多叉搜索树,每个结点有固定的孩子数(叉数 为2^n)....
分类:
其他好文 时间:
2014-10-28 17:50:40
阅读次数:
486
题目要求:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解决思路: 1. 根据观察可知,双向链表顺序即为二叉树的中序遍历结果----->采用中序遍历+递归; 2. 中序遍历顺序为:左+中+右,传入一个变量pre。 pre可...
分类:
其他好文 时间:
2014-10-26 18:16:35
阅读次数:
210
改造二叉树【题目描述】小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树。通常子结点被称作“左孩子”和“右孩子”。二叉树被用作二叉搜索树和二叉堆。随后他又和他人讨论起了二叉搜索树。什么是二叉搜索树呢?二叉搜索树首先是一棵二叉树。设key[p]表示结点p上的...
分类:
其他好文 时间:
2014-10-26 16:53:12
阅读次数:
163
有了上面的教训,这道题就简单多了,什么时候该更新pre是明白的了,倒是有个细节,二叉搜索树中是不同意有相等节点的,所以题目的要求用黑体字标明了。写的时候注意就能够了。class Solution {public: TreeNode *pre = NULL; bool isValidBST...
分类:
其他好文 时间:
2014-10-26 14:15:49
阅读次数:
229
对于JS来说,首先我们需要承认,这是一门有明显缺陷的语言,一般我们把这种问题叫做边界问题。任何语言都有边界问题,而且仅仅是针对这一门语言存在的。但是JS的这些缺陷是如此的明显,以至于有人把它比喻成一把没...
分类:
Web程序 时间:
2014-10-26 00:30:05
阅读次数:
193
------------------------------------------------------读《算法》后感 一直以来,对于红黑树都没有很好的理解,指导看了《算法》和上了coursera上的公开课,终于算是有了较好的理解,现写下来和大家分享 前言:2-3查找树 虽然二叉搜索树已经很好的...
分类:
其他好文 时间:
2014-10-22 23:33:50
阅读次数:
378
前言
二叉排序树(又称二叉查找树、二叉搜索树),在进行查找、插入及删除操作时其平均时间复杂度为O(logn),但是它们的最坏时间复杂度都是O(n)和顺序查找的效率相同,出现这种情况的原因在于它们虽然对关键字值进行了排序,但是并没有对树的形状进行限制。即当关键字序列有序时,就会出现这种最坏情况(单侧的二叉树),平衡二叉树的引入就可以对其进行有效调整。例如:对于关键字序列(12,24,...
分类:
其他好文 时间:
2014-10-16 18:21:53
阅读次数:
280
这题首先要明白的是,二叉搜索树的左子树和右子树都自成二叉搜索树。这种递归定义决定了,如果我知道从1到n - 1时,所有的二叉搜索树结构,那结点数为n的二叉搜索树也可以得到了。转换关系是这样的:对于一个含有n个结点的二叉搜索树,首先树根可以从i = 1~n变化,然后左右子树的结点数目分别是i - 1和...
分类:
其他好文 时间:
2014-10-13 23:02:57
阅读次数:
176