from queue import Queue
class Node:
#二叉树初始化
def __init__(self, data):
self.left = None # 左节点
self.right = None # 右节点
self.data = data # 值
#判断是否为空树
def isEmptyTree(self,root):
if not root: return True
else: return False
#向二叉树插入一个元素
def insert(self,value):
if self.data:
if value<self.data:
if self.left is None:
self.left=Node(value)
else:
self.left.insert(value)
elif value>self.data:
if self.right is None:
self.right=Node(value)
else:
self.right.insert(value)
else:
self.data=value
#先序遍历
def PreorderTraversal(self, root):
res = []
if root:
res.append(root.data)
res = res+self.PreorderTraversal(root.left)
res = res + self.PreorderTraversal(root.right)
return res
#中序遍历
def inorderTraversal(self,root):
res=[]
if root:
res=self.inorderTraversal(root.left)
res.append(root.data)
res=res+self.inorderTraversal(root.right)
return res
#后序遍历
def PostorderTraversal(self, root):
res = []
if root:
res
基于Python实现二叉树相关方法实现(手记)
于 2020-11-01 11:43:33 首次发布
本文详细介绍了如何使用Python编程实现二叉树的相关方法,包括创建、插入、遍历等操作,通过实例展示了具体的过程和运行结果。
摘要由CSDN通过智能技术生成