Python 排序二叉树 三种遍历实现

# -*- coding: utf-8 -*-

class Binary_tree: #二叉树
	value=None
	left=None
	right=None
	def __init__(self,v,*kk):
		self.value=v
		print('增加新节点 值为: %d'%(self.value))

	def toleft(self,tree):
		self.left=tree
		print('新增加的左枝 值为: %d'%tree.value)

	def toright(self,tree):
		self.right=tree
		print('新增加的右枝 值为: %d'%tree.value)


class Sorting_binary_tree(Binary_tree):#排序二叉树
	def __init__(self,v,*kk):
		Binary_tree.__init__(self,v,kk)

#前序遍历 输出值
def prologue(root):
	print(root.value,end=' ')
	if root.left !=None:
		prologue(root.left)
	if root.right !=None:
		prologue(root.right)
#中序遍历 输出值
def medium(root):
	if root.left !=None:
		medium(root.left)
	print(root.value,end=' ')
	if root.right !=None:
		medium(root.right)
#后序遍历 输出值
def post_order(root):
	if root.left !=None:
		post_order(root.left)
	if root.right !=None:
		post_order(root.right)
	print(root.value,end=' ')
#增加新节点
def add_value(root,sort_value):
	if sort_value

 

你可能感兴趣的:(数据结构,python)