python 实现的 binary tree
2012-02-18 21:25
253 查看
使用python 实现的 binary tree,代码如下:
#!/usr/bin/python class btree: def __init__(self,value): self.left = None self.right = None self.data = value def insertLeft(self,value): self.left = btree(value) return self.left def insertRight(self,value): self.right = btree(value) return self.right def show(self): print self.data, def insert(node,value): if value > node.data: if node.right: insert(node.right,value) else: node.insertRight(value) elif value == node.data: print str(value)+" already in btree" else: if node.left: insert(node.left,value) else: node.insertLeft(value) def preorder(node): if node.data: node.show() if node.left: preorder(node.left) if node.right: preorder(node.right) def inorder(node): if node.data: if node.left: inorder(node.left) node.show() if node.right: inorder(node.right) def postorder(node): if node.data: if node.left: postorder(node.left) if node.right: postorder(node.right) node.show() if __name__ == "__main__": l = [] for i in xrange(25): l.append(i+1) print l bt = btree(l[0]) for i in l: insert(bt,i) """ bt = btree('root') a = bt.insertLeft('a') c = a.insertLeft('c') d = a.insertRight('d') f = d.insertLeft('f') g = d.insertRight('g') b = bt.insertRight('b') e = b.insertRight('e')""" print "\n=============preorder==============" preorder(bt) print "\n=============inorder===============" inorder(bt) print "\n=============postorder=============" postorder(bt) """ bt.show() a.show() bt.left.show() b.show() bt.right.show() """
相关文章推荐
- 用PYTHON实现将电脑里的所有文件按大小排序,便于清理
- python socket编程实现半双工与全双工聊天
- paip.编程语言方法重载实现的原理及python,php,js中实现方法重载
- python实现布隆过滤器对数据去重
- [置顶] 《统计学习方法》 决策树 ID3和C4.5 生成算法 Python实现
- k-means+python︱scikit-learn中的KMeans聚类实现( + MiniBatchKMeans)
- Python GUI编程各种实现的对比
- 一入python深似海--dict(字典)的一种实现
- 使用Python的Tornado框架实现一个Web端图书展示页面
- python 二叉树的相关实现
- 手把手教你用Python代码实现微信聊天机器人 -- Python wxpy
- 用Python实现的数据结构与算法:基本搜索
- python中实现sftp
- 『Python』 多线程 共享变量的实现
- python3+PyQt5+Qt Designer实现堆叠窗口部件
- Python实现好友全头像的拼接
- python实现DES加密算法和3DES加密算法
- Python实现把数字转换成中文
- 利用python 更新ssh 远程代码 操作远程服务器的实现代码
- python 程序定时执行的实现