论坛首页 编程语言技术论坛

妙趣横生的python 算法 之 二叉树

浏览 4756 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-05-04   最后修改:2010-05-04
# -*- coding:utf8 -*-
import os
import sys

########################################################################
class BTree:
     """
     2叉树的建立与查找
     使用数字存储
     """
     nodes = []
     blank = "@"
     
     #初始化
     def __init__(self):
          """Constructor"""
          self.lnode = None
          self.rnode = None
          self.data = None
          
     @classmethod
     def createTree(klass,bt,message="root"):
          """
          这里使用先序遍历
          1)访问根节点,2)先序遍历左子树,2)先序遍历右子树
          """
          node = raw_input("please input " + message)
          if(node==""):
               bt.data = klass.blank
               return
          else:
               print node
               bt.data= node
               bt.lnode = BTree()
               klass.createTree(bt.lnode," %s left" % node) #创建左子树
               bt.rnode = BTree()
               klass.createTree(bt.rnode," %s right" % node) #创建右子树
     
     @classmethod
     def preOrderTraverse(klass,bt):
          """
          #先序遍历
          """
          if(bt):
               print bt.data,
               klass.preOrderTraverse(bt.lnode) #遍历左子树
               klass.preOrderTraverse(bt.rnode) #遍历右子树

#运行脚本
if __name__ =="__main__":
     bt = BTree()
     BTree.createTree(bt)
     BTree.preOrderTraverse(bt)
   发表时间:2010-05-14  
我承认,我被标题骗了。。
0 请登录后投票
   发表时间:2010-06-19  
sw1982 写道
我承认,我被标题骗了。。

同感。我也是被骗进来的。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics