当前位置:  编程技术>python

python二叉树遍历的实现方法

    来源: 互联网  发布时间:2014-09-04

    本文导语:  代码如下:#!/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.ro...

代码如下:

#!/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内置映射类型(mapping type):dict哈希字典遍历方式及其它用法举例
  • Python字符遍历的艺术
  • python遍历文件夹并删除特定格式文件的示例
  • python中使用enumerate函数遍历元素实例
  • python 字典(dict)遍历的四种方法性能测试报告
  • python使用os模块的os.walk遍历文件夹示例
  • Python中文件遍历的两种方法
  • Python中使用item()方法遍历字典的例子
  • python中遍历文件的3个方法
  • python目录操作之python遍历文件夹后将结果存储为xml
  • python实现dict版图遍历示例
  • Python enumerate遍历数组示例应用
  • python数据结构之二叉树的遍历实例
  • python两种遍历字典(dict)的方法比较
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • python实现绘制树枝简单示例
  • 基于python实现的网络爬虫功能:自动抓取网页介绍
  • Python3实现生成随机密码的方法
  • Python3通过request.urlopen实现Web网页图片下载
  • python调用短信猫控件实现发短信功能实例
  • 在Python3中使用urllib实现http的get和post提交数据操作
  • Python实现多行注释的另类方法
  • juqery的python实现:pyquery学习使用教程
  • python 布尔操作实现代码
  • 数据结构:图(有向图,无向图),在Python中的表示和实现代码示例
  • python实现的重启关机程序实例
  • Python中无限元素列表的实现方法
  • python 实现插入排序算法
  • python使用循环实现批量创建文件夹示例
  • python 实现文件的递归拷贝实现代码
  • python判断端口是否打开的实现代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python获取网页编码的方法及示例代码
  • 使用setup.py安装python包和卸载python包的方法
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • 如何运行Python程序的方法
  • python对XML的解析方法(SAX,DOM,ElementTree)介绍
  • python list 合并连接字符串的方法
  • Python开发的单词频率统计工具wordsworth使用方法
  • Python判断变量是否已经定义的方法
  • python中定义结构体的方法
  • python字符串排序方法
  • 用Python脚本生成Android SALT扰码的方法
  • Python 条件判断的缩写方法
  • netbeans7安装python插件的方法图解
  • Python和php通信乱码问题解决方法
  • Python enumerate遍历数组示例应用 iis7站长之家
  • SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
  • 在Python安装MySQL支持模块的方法
  • python中文乱码的解决方法
  • python中精确输出JSON浮点数的方法
  • python回调函数的使用方法
  • Python 开发Activex组件方法
  • Python不使用print而直接输出二进制字符串
  • 让python同时兼容python2和python3的8个技巧分享
  • Python中实现json字符串和dict类型的互转
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python异常信息堆栈输出到日志文件
  • Python开发者社区整站源码 Pythoner
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • python读取csv文件示例(python操作csv)
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • python基础教程之python消息摘要算法使用示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3