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 odoo中嵌入html简单的分页功能

详解Python odoo中嵌入html简单的分页功能

在odoo中,通过iframe嵌入 html,页面数据则通过controllers获取,使用jinja2模板传值渲染 html页面分页内容,这里写了判断逻辑 <!-- 分页 -...

django一对多模型以及如何在前端实现详解

models.py class xm(models.Model): xmID=models.AutoField(primary_key=True) xmTitle=model...

Python+matplotlib实现计算两个信号的交叉谱密度实例

Python+matplotlib实现计算两个信号的交叉谱密度实例

 计算两个信号的交叉谱密度 结果展示: 完整代码: import numpy as np import matplotlib.pyplot as plt fig,...

Java编程迭代地删除文件夹及其下的所有文件实例

本文研究的是Java编程迭代地删除文件实例,具体实现代码如下。 实例代码: public static void main(String[] args) { String...

python修改字典键(key)的方法

python修改字典键(key)的方法

python字典中,值可任意更改;但键是唯一的,不支持直接修改。若真的需要修改字典中的键,可通过几种间接方式实现。 新建空白字典。 info = {} 给字典添加键-值对。...