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