Python实现树的先序、中序、后序排序算法示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现树的先序、中序、后序排序算法。分享给大家供大家参考,具体如下:

#encoding=utf-8
class Tree():
  def __init__(self,leftjd=0,rightjd=0,data=0):
    self.leftjd = leftjd
    self.rightjd = rightjd
    self.data = data 
class Btree():
  def __init__(self,base=0):
    self.base = base
  #前序遍历 根左右
  def qout(self,jd):
    if jd == 0:
    return
  print jd.data
  self.qout(jd.leftjd)
  self.qout(jd.rightjd)
  #中序遍历 左根右
  def mout(self,jd):
  if jd == 0:
    return
  self.mout(jd.leftjd)
  print jd.data
  self.mout(jd.rightjd)
  #后序遍历 左右根
  def hout(self,jd):
  if jd == 0:
    return
  self.hout(jd.leftjd)
  self.hout(jd.rightjd)
  print jd.data
jd1 = Tree(data=8)
jd2 = Tree(data=9)
base = Tree(jd1,jd2,7)
x = Btree(base)
x.qout(x.base)
print '\r\n'
x.mout(x.base)
print '\r\n'
x.hout(x.base)

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python测试mysql写入性能完整实例

本文主要研究的是python测试mysql写入性能,分享了一则完整代码,具体介绍如下。 测试环境: (1) 阿里云服务器centos 6.5 (2) 2G内存 (3) 普通硬盘 (4)...

python使用标准库根据进程名如何获取进程的pid详解

前言 标准库是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。特别是有时候需要获取进程的pid,但又无法使用第三方库的时候。下面话不多说了,来一...

Python简单的制作图片验证码实例

Python简单的制作图片验证码实例

这里示范的验证码都是简单的,你也可以把字符扭曲 Python第三方库无比强大,PIL 是python的一个d第三方图片处理模块,我们也可以使用它来生成图片验证码 PIL安装 命令...

python with提前退出遇到的坑与解决方案

问题的起源 早些时候使用with实现了一版全局进程锁,希望实现以下效果: with CacheLock("test_lock", 10): #如果抢占到锁,那么就执行这段代码...

对TensorFlow中的variables_to_restore函数详解

variables_to_restore函数,是TensorFlow为滑动平均值提供。之前,也介绍过通过使用滑动平均值可以让神经网络模型更加的健壮。我们也知道,其实在TensorFlow...