我有一棵树,用简单的递归后序遍历打印出所有可能的路径。但问题在于这需要很长时间。
我想利用我树的一个特性来节省遍历时间。这个特性是我有重复的子树,在下面的例子中,头结点为1的子树在树中出现了3次。
10
/ | \
5 15 1
/\ / \ / \
2 1 1 6 3 8
/ \ / \
3 8 3 8
我希望改进我的遍历算法来跳过已经遍历过的子树。我的想法是要记录下已经遍历过的每一个子树,但我不知道怎样将其运用到后序遍历算法中。
谢谢您的帮助。