Python 自定义二叉树结构
class BinaryTree: def __init__(self,value): self._left=None self._right=None self._data=value def insertLeftChild(self,value): #创建左子树 if self._left: print('left child tree already exists.') else: self._left=BinaryTree(value) return self._left def insertRightChild(self,value): #创建右子树 if self._right: print('right child tree already exists.') else: self._right=BinaryTree(value) return self._right def show(self): print(self._data) def preOrder(self): #前序遍历(根左右) print(self._data) if self._left: self._left.preOrder() if self._right: self._right.preOrder() def postOrder(self): #后序遍历(左右根) if self._left: self._left.postOrder() if self._right: self._right.postOrder() print(self._data) def inOrder(self): #中序遍历(左根右) if self._left: self._left.inOrder() print(self._data) if self._right: self._right.inOrder() if __name__=='__main__': print('Please use me as a module.')
posted on 2018-11-14 15:54 缺陷催生进化,完美预示终结 阅读(499) 评论(0) 编辑 收藏 举报
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· 对象命名为何需要避免'-er'和'-or'后缀
· JDK 24 发布,新特性解读!
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· SQL Server如何跟踪自动统计信息更新?