概述
二叉树,作为数据结构中重要的一员,掌握好其相关算法是非常有必要的。在本博客中,我将会用python实现二叉树的前序、中序以及后序遍历,同时也实现了利用前序+中序求后序,或者利用中序+后序求前序等相关操作。
代码
话不多说,下面直接给代码,所有算法都用递归的方式求解,所以本身逻辑并不复杂,此处就不再详细解释其算法原理。
class Node:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
class Traversal:
def pre_order(self, root):
if root:
print(root.value, end=" ")
self.pre_order(root.left)
self.pre_order(root.right)
def mid_order(self, root):
if root:
self.mid_order(root.left)
print(root.value, end=" ")
self.mid_order(root.right)
def post_order(self, root):
if root:
self.