Java 数据结构:如何实现对splay树的打印?

Java 数据结构:如何实现对splay树的打印?,java,data-structures,tree,Java,Data Structures,Tree,我尝试用java实现一个splay树 普通二叉搜索树的打印: public void printTree(BinaryNode<AnyType> node){ if(node != null){ printTree(node.left); System.out.println(node.element); printTree(node.right); } public void打印树(BinaryNode节点){ 如果

我尝试用java实现一个splay树

普通二叉搜索树的打印:

public void printTree(BinaryNode<AnyType> node){
    if(node != null){
        printTree(node.left);
        System.out.println(node.element);
        printTree(node.right);
    }
public void打印树(BinaryNode节点){
如果(节点!=null){
打印树(node.left);
System.out.println(node.element);
printTree(右节点);
}

但是打印每个节点都应该调用splay()方法,节点的右子树和左子树将进行转换。

如果捕获异常并检查堆栈跟踪,您应该能够找到StackOverflower错误。或者,您可以使用调试器和跟踪执行。显然,您有一个无限递归的情况。@Jim Mischel我的编码器没有问题,当NUMS为40时000前导无限递归返回StackOverflower。如果捕获异常并检查堆栈跟踪,您应该能够找到StackOverflower。或者,您可以使用调试器和跟踪执行。显然,您有无限递归的情况。@Jim Mischel我的编码器没有问题,当NUMS为40000前导无限递归时执行返回堆栈溢出错误。