作为一个初学者,我一直在尝试用python实现二叉树。并且已经成功地实现了很多,但只有一个问题,那就是我无法返回二叉树中所有元素(traverse())的列表。我在这里使用两个类:Node和BinaryTree。 节点类 class Node:
def __init__(self, val):
self.value = val
self.left = None
self.right = None 遍历方法返回二叉树中的所有元素。 def traverse(self): #<-- Problem here
t
这是教科书上的一个问题,答案是关于二叉树的。
如果后置遍历访问二叉树的节点,以U,G,T,R,A,I的顺序存储字符值,那么同一棵二叉树的无序遍历的访问顺序是什么?
( a) I、G、U、A、T、R
( b) R、G、U、I、T、A
( c) G、U、I、T、A、R
( d)无法确定
答:C
现在的问题是,C是如何回答的。我意识到,仅进行一次后期遍历并不足以唯一地标识一棵树,而且可以为任何类型的树(不是无序的)定义预顺序遍历和后置遍历,但不能对一棵树进行唯一标识。顺序和顺序后的遍历可以。这个问题并不是专门针对BST的,这样可以产生不同的效果。所以我想我需要澄清关于C的答案,而不是D,这就是我所
我想使用C#生成一个二叉树,并在其中插入一个节点。
我尝试了很多方法,但没有生成任何二叉树。我想写一个函数,它将遍历树的根到叶,那么我该如何实现这一点呢?
在下面的代码中,二叉树是我的类。
找到我的以下代码。
int[] values = new int[] { 1, 2, 3, 4, 5 };
BinaryTree tree = new BinaryTree(values);
var node1 = new Node();
var node2 = new Node();
var node3 = new Node