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程序设计有所帮助。

相关文章

使用pygame模块编写贪吃蛇的实例讲解

python ### 刚学了python不久,发现了一个好玩的库pygame 使用pygame模块 利用面向对象的思想编写贪吃蛇,主要用到pygame.sprite: 游戏主类 im...

Python中的pass语句使用方法讲解

 Python pass语句使用当语句要求不希望任何命令或代码来执行。 pass语句是一个空(null)操作;在执行时没有任何反应。pass也是代码最终会是有用的,但暂时不用写...

如何通过50行Python代码获取公众号全部文章

如何通过50行Python代码获取公众号全部文章

前言 我们平时阅读公众号的文章会遇到一个问题——阅读历史文章体验不好。 我们知道爬取公众号的方式常见的有两种:通过搜狗搜索去获取,缺点是只能获取最新的十条推送文章。通过微信公众号的素材管...

CentOS安装pillow报错的解决方法

安装pillow出现以下问题: ValueError: jpeg is required unless explicitly disabled using --disable-jpe...

Python matplotlib绘制饼状图功能示例

Python matplotlib绘制饼状图功能示例

本文实例讲述了Python matplotlib绘制饼状图功能。分享给大家供大家参考,具体如下: 一 代码 import numpy as np import matplotlib....