`

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

阅读更多
# -*- 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)
分享到:
评论
2 楼 justjavac 2010-06-19  
sw1982 写道
我承认,我被标题骗了。。

同感。我也是被骗进来的。
1 楼 sw1982 2010-05-14  
我承认,我被标题骗了。。

相关推荐

    妙趣横生的算法源码

    在“妙趣横生的算法源码”这个资源中,我们发现它主要关注的是C语言编程和算法的应用。C语言是一种强大的、低级的编程语言,广泛用于系统开发、嵌入式系统以及各种复杂的算法实现。它以其简洁的语法和高效的执行而...

    妙趣横生的算法(C语言实现)全书源码

    《妙趣横生的算法(C语言实现)全书源码》是一本深入浅出介绍算法的书籍,其源码提供了丰富的C语言实现,对于学习和理解算法有着极高的价值。C语言作为底层编程语言,因其高效、简洁而被广泛用于系统级编程和算法...

    妙趣横生的算法C语言实现 清晰pdf && 代码

    《妙趣横生的算法C语言实现》是一本深入浅出地探讨算法和数据结构的书籍,通过清晰的PDF文档和配套源代码,为读者提供了一条理解和掌握这些核心计算机科学概念的有效途径。这本书旨在帮助读者用C语言来实现各种经典...

    妙趣横生的算法 C语言实现电子版书+源码集合

    《妙趣横生的算法 C语言实现电子版书+源码集合》是一份珍贵的教育资源,专注于通过C语言来解析和实现各种算法。这个压缩包包含了一本关于算法的电子书,以及对应的源代码实现,旨在帮助学习者深入理解算法的本质,并...

    妙趣横生的C语言算法

    标题:“妙趣横生的C语言算法” 描述:“这是对C语言算法的讲解,讲解生动易懂。” 在计算机科学领域,C语言作为一种高效且灵活的编程语言,自诞生以来便深受程序员的喜爱。它不仅是系统级编程的理想选择,也是...

    《妙趣横生的算法(C语言实现)》(杨峰 编著)

    《妙趣横生的算法(C语言实现)》可作为算法入门人员的教程,也可以作为学习过C语言程序设计的人士继续深造的理想读物,也可作为具有一定经验的程序设计人员巩固和提高编程水平,查阅相关算法实现和数据结构知识的参考...

    妙趣横生的算法源代码

    在编程世界中,C语言是一种基础且...总之,“妙趣横生的算法源代码”是一个宝贵的资源,它提供了对C语言中二叉树、图和栈等核心概念的实践经验,有助于深化对数据结构和算法的理解,是学习和提升编程能力的不二之选。

    妙趣横生的算法C语言实现

    《妙趣横生的算法C语言实现》这本书深入浅出地介绍了如何用C语言来实现各种常见的算法。C语言作为底层编程的利器,其简洁、高效的特点使得它成为实现算法的理想选择。书中涵盖的算法知识广泛,旨在帮助读者在理解和...

    妙趣横生的算法(C语言)

    在“妙趣横生的算法(C语言)”这个主题中,我们主要探讨的是如何用C语言实现各种有趣且富有挑战性的算法。C语言是一种强大的、底层的编程语言,特别适合进行系统级编程和算法实现。它以其简洁的语法和高效的执行...

    妙趣横生的算法(C语言实现)源代码

    《妙趣横生的算法(C语言实现)源代码》是一个专门为C语言爱好者和学习者提供的资源包,其中包含了各种有趣的算法实现。这些算法不仅能够帮助我们深入理解数据结构和算法,还能激发我们对编程的兴趣。在Windows XP...

    基础算法-Python遍历打印二叉树

    【基础算法】-Python遍历打印二叉树#!/usr/bin/pythonclass TreeNode(): def __init__(self, val): self.val = val self.left = None self.right = Nonedef list_create_tree(root_node, tree_nodes_val, i): if i ...

    python实现的二叉树排序

    python实现的二叉树排序

    编写算法交换二叉树中所有结点的左右子树.doc

    编写算法交换二叉树中所有结点的左右子树 本文档主要介绍了如何编写算法交换二叉树中所有结点的左右子树。该算法使用 C 语言实现,通过建立二叉树、先序遍历输出结点数据和后序遍历交换左右子树三个步骤来实现。 ...

    python算法教程-中文版

    《Python算法教程-中文版》是一本面向初学者的优秀教材,旨在帮助读者掌握Python编程语言的同时,深入了解和运用各种算法。Python作为一种简洁且强大的编程语言,被广泛应用于数据分析、机器学习以及算法实现等领域...

    图书:Python算法 - 精通Python语言的基本算法

    《Python算法 - 精通Python语言的基本算法》是一本深入浅出的Python算法书籍,旨在帮助读者掌握Python编程中的核心算法。通过阅读本书,你可以了解到如何利用Python这一强大而简洁的语言来解决各种计算问题。博客...

    Python算法教程_中文版 PDF

    《Python算法教程_中文版 PDF》是一本专为Python初学者和进阶者设计的算法学习书籍,旨在帮助读者深入理解和掌握使用Python编程语言进行算法分析与设计的基本方法。本书全面覆盖了从基础到高级的各种算法,是学习...

    Python3实现二叉树的遍历算法(源代码)

    ### 二叉树遍历算法在Python3中的实现 #### 一、背景介绍与基础知识 在数据结构领域中,二叉树是一种常见的非线性数据结构。它在计算机科学的许多方面都扮演着重要的角色,比如数据库索引、编译器优化等。二叉树的...

    python算法.zip

    Python是一种广泛应用于数据分析、机器学习、Web开发等领域的高级编程语言,其简洁的语法和强大的库支持使得学习和实现算法变得相对容易。"python算法.zip"这个压缩包包含的资源显然是针对Python编程中的算法学习,...

Global site tag (gtag.js) - Google Analytics