首先是从二叉搜索树开始,一棵二叉搜索树的定义是:1.这是一棵二叉树;2.令x为二叉树中某个结点上表示的值,那么其左子树上所有结点的值都要不大于x,其右子树上所有结点的值都要不小于x。由二叉搜索树的第二条定义,可以很方便地利用这种特点在二叉树中以O(logn)的渐进复杂度完成插入、查找、删除等操作。但...
分类:
其他好文 时间:
2015-03-09 15:37:16
阅读次数:
181
struct TreeNode{ //... PTreeNode& Child (Direction dir) { return dir == left? leftChild : rightChild; }};class BST{private: // ... ...
分类:
其他好文 时间:
2015-03-07 21:15:36
阅读次数:
120
我们知道二叉搜索树的中序遍历是一个已经排好序的序列,知道序列我们无法确定树的形态(因为有多种)。但是,Treap如果告诉我们它的关键字以及权值,那么就可以唯一确定树的形态(Treap的O(logn)的期望时间复杂度就是依靠一个随机堆的深度不会太深)具体的,已知关键字序列:k1,k2,k3...kn和...
分类:
其他好文 时间:
2015-03-05 19:15:21
阅读次数:
171
二叉搜索树的接口类publicinterfaceBinarySearchTreeextendsBinaryTree
{
Objectfind(Objectobj);
Objectupdate(Objectobj);
booleaninsert(Objectobj);
booleandelete(Objectobj);
voidascend();
}二叉搜索树的链接存储类的实现publicclassLinkBinarySearchTreeextendsLinkBin..
分类:
其他好文 时间:
2015-03-04 19:27:00
阅读次数:
125
Givenn, generate all structurally uniqueBST's(binary search trees) that store values 1...n.For example,Givenn= 3, your program should return all 5 uni...
分类:
其他好文 时间:
2015-02-26 14:44:11
阅读次数:
118
Givenn, how many structurally uniqueBST's(binary search trees) that store values 1...n?For example,Givenn= 3, there are a total of 5 unique BST's. 1.....
分类:
其他好文 时间:
2015-02-25 15:32:26
阅读次数:
109
Given a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only n...
分类:
其他好文 时间:
2015-02-24 06:55:58
阅读次数:
171
Two elements of a binary search tree (BST) are swapped by mistake.Recover the tree without changing its structure.Note:A solution using O(n) space is ...
分类:
其他好文 时间:
2015-02-23 15:26:34
阅读次数:
168
红黑树的性质: 1.每个结点要么是红色要么是黑色的。 2.根结点是黑色的。 3.所有叶结点(nil)是黑色的。 4.每个红色结点的两个孩子都是黑色的。 5.每个结点到其后代叶结点的简单路径上均包含相同数目的黑色结点。INSERT操作按二叉搜索树的方法插入新结点。INSERT-FIXUP(三...
分类:
编程语言 时间:
2015-02-21 10:50:59
阅读次数:
156
红黑树(red-black tree)是许多平衡搜索树中的一种,因此基本操作(查询、删除、搜索)等在最坏情况下的时间复杂度均为O(lgn)。13. 1红黑树的性质红黑树时一棵二叉搜索树,并且在每个结点上增加了一个属性表示颜色:红色或黑色。通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红...
分类:
编程语言 时间:
2015-02-19 22:57:57
阅读次数:
202