二叉樹:前序遍歷、中序遍歷、後序遍歷
class Node:
def __init__(self, value=None, left=None, right=None):
self.value = value
self.left = left
self.right = right
def preTraverse(root):
''' 前序遍歷 '''
if root == None:
return
print(root.value)
preTraverse(root.left)
preTraverse(root.right)
def midTraverse(root):
''' 中序遍歷 '''
if root == None:
return
midTraverse(root.left)
print(root.value)
midTraverse(root.right)
def afterTraverse(root):
''' 後序遍歷 '''
if root == None:
return
afterTraverse(root.left)
afterTraverse(root.right)
print(root.value)
if __name__=='__main__':
root=Node('D',Node('B',Node('A'),Node('C')),Node('E',right=Node('G',Node('F'))))
print('前序遍歷:')
preTraverse(root)
print('\n')
print('中序遍歷:')
midTraverse(root)
print('\n')
print('後序遍歷:')
afterTraverse(root)
print('\n')