inorder

    0熱度

    2回答

    我試圖編寫一段簡單的代碼來遍歷二叉搜索樹,使用inorder traversal.I能夠完美地調整插入代碼,因爲調試器完全顯示了一棵樹就像我wanted.But我遞歸遍歷心不是給予了正確的results.Here是我的調試器的截圖: 左子樹,然後右子樹 其對應於以下的可視化樹: 打印出所有節點代替,它只是打印在一個無限循環的第一元件(39)。 這裏是我的代碼: Main.java public c

    0熱度

    1回答

    二叉樹按順序遍歷顯示是錯誤的。我無法弄清楚我做錯了什麼。當高度爲4(包括0級爲1)時,輸出顯示爲1-15,而不是顯示爲:8 4 9 2 10 5 11 1 12 6 13 3 14 7 15. main: #include <iostream> #include "math.h" #include "bintree.h" using namespace std; int main()

    1熱度

    3回答

    我正在處理的問題是在BST中的inorder遍歷中查找第一個出現節點。 我有下面的代碼 def Inorder_search_recursive(node,key): if not node: return None InOrder_search_recursive(node.lChild) if node.value==key: return

    1熱度

    1回答

    我正在創建自己的shell。 我已經爲用戶輸入創建了詞法分析器和解析器(它創建了一個二叉樹)。 所以對於這樣的命令:cat main.c | ls | wc。 我得到這個樹: "|" /\ / \ / \ "cat main.c" "|" /\ / \ "ls" "wc" 所以我的樹遍歷功能(按順序)是這樣的

    0熱度

    1回答

    type'a tree = |空| 'a *'節點樹*'樹*'樹參考; 我們想爲每個節點樹設置ref inorder中的下一個節點; 例如 Node (1, Node(2, Empty, Empty, ref Empty), Node(3, Empty, Empty, ref Empty), ref Empty)) The result is: Node (1, Node(2, Empty,

    0熱度

    1回答

    使用InOrderIterator遍歷方法。我明白如何遞歸執行此操作,但我一直在收到此編譯器錯誤。 inOrderIterator() in LinkedBinarySearchTree<T> cannot be applied to (BinaryTreeNode<T>) 我不知道爲什麼我不能將此方法應用於該對象。有任何想法嗎? 我的繼承人方法至今 public ArrayList<T> i

    -1熱度

    1回答

    嘿,我試圖寫一個程序,將採取字符串列表(這些都是按順序): polymorphism object templates structure class pointer reference traversal inheritance exceptions recursive overloading ,然後存儲在二叉樹這些字符串,最後做一箇中序遍歷。 但是,我有一個問題,我無

    1熱度

    2回答

    我們知道一個二叉樹的給定前序和中序遍歷唯一地定義了樹,那麼一般樹又如何,即具有兩個以上子元素的樹,前序和中序遍歷與樹結構有一對一的對應關係。 換句話說,給定一個普通樹的元組(前序,中序)對於一般樹是唯一的,還是可以有許多具有相同元組的前序和中序遍歷的樹?

    -1熱度

    2回答

    有人可以向我解釋在遞歸遍歷中遞歸是如何工作的。這裏是我的inOrder()方法。 public void inOrder(BinaryNode p){ if(p.left!=null){ inOrder(p.left); } visit(p); if(p.right!=null){ inOrder(p.right);

    1熱度

    1回答

    我已經設法通過它的插入方法創建一個線程二叉搜索樹。我現在需要遍歷樹並按順序打印。我有可用的代碼,但我使用布爾標誌來確定是否打印了特定的節點。對於這個任務,它不能是遞歸的。我想知道是否有一種可能的方法將所有布爾標誌全部清除爲false,因爲如果我再次嘗試打印,它將會,並且確實不起作用。有什麼建議麼?這裏是我的顯示方法的副本。 public void display(){ Node pare