python二叉树遍历的实现方法


Posted in Python onNovember 21, 2013
#!/usr/bin/python
# -*- coding: utf-8 -*-
class TreeNode(object):
    def __init__(self,data=0,left=0,right=0):
        self.data = data
        self.left = left
        self.right = right

class BTree(object):
    def __init__(self,root=0):
        self.root = root
    def is_empty(self):
        if self.root is 0:
            return True
        else:
            return False
    def preOrder(self,treenode):
        if treenode is 0:
            return
        print treenode.data
        self.preOrder(treenode.left)
        self.preOrder(treenode.right)
    def inOrder(self,treenode):
        if treenode is 0:
            return
        self.inOrder(treenode.left)
        print treenode.data
        self.inOrder(treenode.right)
    def postOrder(self,treenode):
        if treenode is 0:
            return
        self.postOrder(treenode.left)
        self.postOrder(treenode.right)
        print treenode.data

n1 = TreeNode(data=1)
n2 = TreeNode(2,n1,0)
n3 = TreeNode(3)
n4 = TreeNode(4)
n5 = TreeNode(5,n3,n4)
n6 = TreeNode(6,n2,n5)
n7 = TreeNode(7,n6,0)
n8 = TreeNode(8)
root = TreeNode('root',n7,n8)
bt = BTree(root)
print 'preOrder......'
print bt.preOrder(bt.root)
print 'inOrder......'
print bt.inOrder(bt.root)
print 'postOrder.....'
print bt.postOrder(bt.root)

结果:

preOrder......
root
7
6
2
1
5
3
4
8

inOrder......
1
2
6
3
5
4
7
root
8

postOrder.....
1
2
3
4
5
6
7
8
root

Python 相关文章推荐
Python中使用ConfigParser解析ini配置文件实例
Aug 30 Python
用Python计算三角函数之acos()方法的使用
May 15 Python
python 第三方库的安装及pip的使用详解
May 11 Python
Python深度优先算法生成迷宫
Jan 22 Python
基于Django框架利用Ajax实现点赞功能实例代码
Aug 19 Python
python生成多个只含0,1元素的随机数组或列表的实例
Nov 12 Python
python 实现人和电脑猜拳的示例代码
Mar 02 Python
python爬虫使用requests发送post请求示例详解
Aug 05 Python
Python使用requests模块爬取百度翻译
Aug 25 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
conda安装tensorflow和conda常用命令小结
Feb 20 Python
Pandas数据类型之category的用法
Jun 28 Python
python二叉树的实现实例
Nov 21 #Python
python冒泡排序算法的实现代码
Nov 21 #Python
python选择排序算法的实现代码
Nov 21 #Python
python插入排序算法的实现代码
Nov 21 #Python
python快速排序代码实例
Nov 21 #Python
python二分法实现实例
Nov 21 #Python
Python列表推导式的使用方法
Nov 21 #Python
You might like
MVC模式的PHP实现
2006/10/09 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
js HTML5 Canvas绘制转盘抽奖
2020/09/13 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
python机器学习之贝叶斯分类
2018/03/26 Python
python如何实现一个刷网页小程序
2018/11/27 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
浅析图片上传及canvas压缩的流程
2020/06/10 HTML / CSS
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
专题民主生活会对照检查材料思想汇报
2014/09/29 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
开除通知书范本
2015/04/25 职场文书
管理失职检讨书范文
2015/05/05 职场文书
2015秋季小学开学寄语
2015/05/27 职场文书
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技