二叉排序树
1. 定义:
二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:
(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
(3)左、右子树也分别为二叉排序树。
2. 实现:
a. 树的结构:
private static class BinaryNode<AnyType> //内部类定义结点结构
{
AnyType theElement;
BinaryNode<AnyType> left;
BinaryNode<AnyType> right;
BinaryNode(AnyType theElement)
{ this(theElement,null,null); }
BinaryNode(AnyType theElement,BinaryNode<AnyType> lt, BinaryNode<AnyType>rt)
{ element=theElement;
left=lt;
right=rt;
}
}
b. 主要方法:
主要是插入、删除、查找