我正在用Python编程一个,它是一个二叉树,以动物为叶,歧视性的问题作为中间节点。树叶和问题都是物体。现在我想把动物和中间的问题作为泡菜文件保存起来。
但是,我不知道如何识别各种对象的腌制。通常,您会创建一个类似于:monkey = Animal('Is it a monkey?')的对象,这样您就可以使用名称猴子来引用该对象。但是随着树的生长,叶对象猴子变成了一个中间节点,问题是“它像花生一样吗?”是的-退出到一个新的猴子节点,和一个不出口到另一个(新的)动物。那么,我该如何腌制这些物品呢?
这是教科书上的一个问题,答案是关于二叉树的。
如果后置遍历访问二叉树的节点,以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,这就是我所
作为一个初学者,我一直在尝试用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