我很明白树的先序遍历、中序遍历和后序遍历算法(参考链接)。我也理解它们各自的用途:中序遍历用于有序的遍历二叉搜索树,先序遍历用于克隆一棵树,但是我无论如何都不能想出一个需要用到后序遍历的现实任务。
你能给我举个例子吗?还有,你能提供任何更好的先序遍历用途吗?
编辑:除了表达式树和逆波兰表示法,还有谁能给我一个例子吗?后序遍历真的只适用于这些场景吗?
我很明白树的先序遍历、中序遍历和后序遍历算法(参考链接)。我也理解它们各自的用途:中序遍历用于有序的遍历二叉搜索树,先序遍历用于克隆一棵树,但是我无论如何都不能想出一个需要用到后序遍历的现实任务。
你能给我举个例子吗?还有,你能提供任何更好的先序遍历用途吗?
编辑:除了表达式树和逆波兰表示法,还有谁能给我一个例子吗?后序遍历真的只适用于这些场景吗?
destroy(node) {
if (node == null) return;
destroy(node.left)
destroy(node.right)
// Post-order freeing of current node
free(node)
}