二叉查找树也是一种比较常见的数据结构,在实际应用中一般是用二叉查找树的变形,如AVL树,红黑树。例如stl中的map就是红黑树的
应用。
a)下面是基本二叉查找树的java实现,包括:
1)递归实现的contains函数
2)递归和非递归实现的insert操作。
3)递归和非递归实现的remove操作。
b)啰嗦几句java,java没有像c++那样功能强大的指针可以指针指向指针,也没有c++一样的引用。java的引用其实和c++的一层指针大概是差不多的。所以有些事情java没办法做,例如交换函数swap(int x, int y)在java中是没有办法实现的。
c)注意递归函数的这种语句: p.right = removeRec(p.data , p.right); 这就是java的先天缺陷所导致的。当然还有其他解决办法。
d)查找树的节点是BitNode<E extends Comparable>的泛型节点,需要节点类实现compareTo函数。
--------------------------------------------------------------------------------------------------------------------------------------------------