我試圖編寫一段簡單的代碼來遍歷二叉搜索樹,使用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