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)

 

posted @ 2016-03-02 15:34  北京流浪儿  阅读(821)  评论(0编辑  收藏  举报