例如,将BST的前序遍历和顺序遍历从递归转换为迭代是相对直接的。但后订单更难。以下是原始的递归BST遍历函数: Python 3 def traverse_rec(node): # traversal of sub-tree at node.遍历),例如here,但我正在寻找遵循what the computer does with it's call stack的迭代实现,这样我就可以同样容易地转换后顺序BST遍历,更一
有没有人能解释一下计算机是如何进入walkTree(tree['right'])的?我相信函数会一直调用自己直到None,然后递归地弹出所有“左”堆栈并打印它们,但是当函数调用walkTree(tree['right'])时,当它再次经过walkTree(tree['left'])时,计算机会做什么呢? if tree == None: walkTree(tree['left']
print(tree['data'
我试图在Python3.7中实现二叉树的一些基本操作。我刚刚开始从Hackerrank开始编码问题,当我在BST中实现levelOrder遍历时被卡住了。我在每次迭代中弹出第一个元素,并将其存储在temp变量中。这样,我将获得树的每一层上的节点。child queue.append(temp.rightChild)
class BST</e