二叉树与普通树的区别在于二叉树的每个节点最多只能有两个儿子,节点就是有所存储的元素信息加上对其他节点(左、右子树)的引用组成的结构。表达式树就是二叉树一个很好地实现,如下图
表达式树可以由后序表达式转化而来,下图就实现了这个想法
而后序表达式又可以通过中序表达式转化而来,据悉转化过程见下图
查找树ADT——二叉查找树的实现细节
使二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有项的值小于X中项的值,而它的右子树中所有项的值大于X中的项。下面的代码是二叉查找树节点类实现,代码如下
/*
*
*
*BinaryNode:二叉查找树的节点类
*
*
**/
private static class BinaryNode<AnyType> {
AnyType element;
BinaryNode<AnyType> left;
BinaryNode<AnyType> right;
// 构造器
BinaryNode (AnyType theElement) {
this (theElement, null, null);
}
BinaryNode(AnyType theElement, BinaryNode&l