【发布时间】:2012-06-08 18:36:30
【问题描述】:
这种情况是否存在二叉树?
我不这么认为,除非二叉树只包含一个根节点。
【问题讨论】:
标签: binary-tree traversal postorder preorder
这种情况是否存在二叉树?
我不这么认为,除非二叉树只包含一个根节点。
【问题讨论】:
标签: binary-tree traversal postorder preorder
你是对的:假设根节点至少有一个孩子。
在前序遍历中,首先处理根节点。孩子跟着它。这在伪代码中很容易看出:
preorder(node)
if node == null then return
print node.value
preorder(node.left)
preorder(node.right)
后序遍历中,根节点最后被处理,子节点最先处理;再看代码:
postorder(node)
if node == null then return
postorder(node.left)
postorder(node.right)
print node.value
(来自Wikipedia的伪代码)。
总而言之,如果二叉树有多个节点,则遍历必然不同。
【讨论】: