traverse

普通に Treeの traverse って下で作ったようなのしか知らなかったんだけど、cuzicさんにpreorder, in-order, postorderがある事を教えてもらった。

        def _traverse_inner(self, node):
                if node is None: return
                                        # << preorder
                self._traverse_inner(node.left)
                print node.value         # << inorder
                self._traverse_inner(node.right)
                                        # << postorder

のように print node.value をどこにおくか、という話。僕は in-orderしかイメージなかった。