我试图编写一段简单的代码来遍历二叉搜索树,使用inorder traversal.I能够完美地调整插入代码,因为调试器完全显示了一棵树就像我wanted.But我递归遍历心不是给予了正确的results.Here是我的调试器的截图: 左子树,然后右子树 其对应于以下的可视化树: 打印出所有节点代替,它只是打印在一个无限循环的第一元件(39)。 这里是我的代码: Main.java public c
我正在处理的问题是在BST中的inorder遍历中查找第一个出现节点。 我有下面的代码 def Inorder_search_recursive(node,key):
if not node:
return None
InOrder_search_recursive(node.lChild)
if node.value==key:
return
使用InOrderIterator遍历方法。我明白如何递归执行此操作,但我一直在收到此编译器错误。 inOrderIterator() in LinkedBinarySearchTree<T> cannot be applied to (BinaryTreeNode<T>)
我不知道为什么我不能将此方法应用于该对象。有任何想法吗? 我的继承人方法至今 public ArrayList<T> i
我已经设法通过它的插入方法创建一个线程二叉搜索树。我现在需要遍历树并按顺序打印。我有可用的代码,但我使用布尔标志来确定是否打印了特定的节点。对于这个任务,它不能是递归的。我想知道是否有一种可能的方法将所有布尔标志全部清除为false,因为如果我再次尝试打印,它将会,并且确实不起作用。有什么建议么?这里是我的显示方法的副本。 public void display(){
Node pare