2024-10-04 03:20:43 发布
网友
我需要为一个最小堆二叉树写一个递归来检查这个树是否是最小堆。其中一个测试用例就是没有。在
None是否被视为最小堆树并返回True,或者{}是{}?在
None
True
我问这个问题的原因是我将在某个点到达leaves,它们的节点是None,如果基本情况是True,那么它将返回{}。在
你一定是说一小堆吧。当我们处理任何树结构时,节点的子节点通常被初始化为None。其中一个原因是我们可以很容易地避免递归:
def find_node(node, data): if root is None: return if root.data == data: print "Node found" find_node(node.left, data) find_node(node.right, data) class Node(object): def __init__(self, data): self.left = None self.right = None self.data = data
在您的例子中,您希望通过遍历树来检查它是否是最小堆。你会这么做的
但这取决于你想如何处理。任何一个没有子节点的节点都是最小堆或最大堆,但没有意义。如果你想打电话
is_min_heap(None)那么你可以这样做,但这取决于你是否想说那是真的。在
is_min_heap(None)
我相信none类型将是空的,因为它不违反最小堆树的定义。在
是的,没有一个被认为是平均堆树。在
你一定是说一小堆吧。当我们处理任何树结构时,节点的子节点通常被初始化为None。其中一个原因是我们可以很容易地避免递归:
在您的例子中,您希望通过遍历树来检查它是否是最小堆。你会这么做的
^{pr2}$但这取决于你想如何处理。任何一个没有子节点的节点都是最小堆或最大堆,但没有意义。如果你想打电话
is_min_heap(None)
那么你可以这样做,但这取决于你是否想说那是真的。在我相信none类型将是空的,因为它不违反最小堆树的定义。在
是的,没有一个被认为是平均堆树。在
相关问题 更多 >
编程相关推荐