`
cakin24
  • 浏览: 1388388 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

python实现二叉树排序

阅读更多

一 代码

  1. classBTree:
  2. def __init__(self,value):
  3. self.left =None
  4. self.data = value
  5. self.right =None
  6. def insertLeft(self,value):
  7. self.left =BTree(value)
  8. return self.left
  9. def insertRight(self,value):
  10. self.right =BTree(value)
  11. return self.right
  12. def show(self):
  13. print(self.data)
  14. #中序遍历
  15. def inorder(node):
  16. if node.data:
  17. if node.left:
  18. inorder(node.left)
  19. node.show()
  20. if node.right:
  21. inorder(node.right)
  22. #中序遍历,先遍历右子树
  23. def rinorder(node):
  24. if node.data:
  25. if node.right:
  26. rinorder(node.right)
  27. node.show()
  28. if node.left:
  29. rinorder(node.left)
  30. def insert(node,value):
  31. if value > node.data:
  32. if node.right:
  33. insert(node.right,value)
  34. else:
  35. node.insertRight(value)
  36. else:
  37. if node.left:
  38. insert(node.left,value)
  39. else:
  40. node.insertLeft(value)
  41. if __name__ =='__main__':
  42. l =[3,5,7,20,43,2,15,30]
  43. Root=BTree(l[0])
  44. node =Root
  45. for i in range(1,len(l)):
  46. insert(Root,l[i])
  47. print('***********************')
  48. print('从小到大')
  49. print('***********************')
  50. inorder(Root)
  51. print('***********************')
  52. print('从大到小')
  53. print('***********************')
  54. rinorder(Root)
  55. print('***********************')
 
二 运行结果
***********************
从小到大
***********************
2
3
5
7
15
20
30
43
***********************
从大到小
***********************
43
30
20
15
7
5
3
2
***********************
分享到:
评论

相关推荐

    python实现的二叉树排序

    python实现的二叉树排序

    xml实现二叉树排序

    在这里,我们将深入探讨如何利用XML来实现二叉树排序的过程。 首先,我们要理解二叉树的基本概念。一个二叉树由根节点开始,可以有零个、一个或两个子节点,分别称为左子节点和右子节点。二叉排序树是一种特殊的...

    python编写 实现 快速排序 和 二叉树排序 并对比速度

    python编写 实现 快速排序 和 二叉树排序 并对比速度

    python实现二叉树的创建、前序遍历、中序遍历以及层次遍历

    本教程将深入探讨如何在Python中实现二叉树的创建、前序遍历、中序遍历以及层次遍历。 首先,我们来理解二叉树的链式存储结构。在Python中,我们可以用类来表示二叉树的节点,每个节点包含一个值、一个指向左子节点...

    Python实现基于二叉树存储结构的堆排序算法示例

    在Python中,我们可以利用二叉树的数据结构来实现堆排序。二叉树是一种特殊的树形数据结构,每个节点最多有两个子节点,通常分为左子节点和右子节点。在堆排序中,我们构建一个最大堆或最小堆,然后将堆顶元素(最大...

    各种排序算法的Python实现

    本资源提供了各种排序算法的Python实现,这将帮助开发者深入理解这些算法的工作原理,并提升他们的编程技能。以下是对每个排序算法的详细介绍: 1. 冒泡排序(Bubble Sort): 冒泡排序是最基础的排序算法之一,它...

    python二叉树的基础知识.docx

    Python 二叉树的基础知识 二叉树是数据结构中的一种重要概念,广泛应用于计算机科学和软件工程中。本文旨在介绍 Python 中二叉树的基础知识,包括二叉树的定义、代码创建及遍历等。 一、树的定义 树是一种数据...

    用Python实现二叉树、二叉树非递归遍历及绘制的例子

    在Python中实现二叉树,通常涉及到节点定义、遍历算法和可视化表示。本文将详细介绍如何用Python构建二叉树,非递归遍历以及绘制二叉树。 首先,我们创建一个二叉树节点类(BiNode),它包含元素值(element)以及...

    PYTHON:二叉树遍历方法

    在Python编程语言中,二叉树是一种非常重要的数据结构,它由节点组成,每个节点有两个子节点,分别称为左子节点和右子节点。二叉树遍历是探索树结构的一种方式,通常包括前序遍历、中序遍历和后序遍历三种主要方法。...

    python二叉树基础算法实现.pdf

    ### Python二叉树基础算法实现详解 #### 一、引言 在计算机科学领域,二叉树是一种重要的数据结构,广泛应用于多种算法和技术之中。它不仅有助于数据的组织与存储,还能有效地支持诸如查找、排序等功能。Python作为...

    Python实现普通二叉树

    本篇将探讨如何使用Python语言实现一个普通的二叉树。 首先,为了构建二叉树,我们需要创建一个表示节点的类。`Node`类是二叉树的基本构建块,它包含四个主要属性: 1. `data`: 节点存储的数据。 2. `parent`: ...

    python画图-使用Python+turtle实现画二叉树.zip

    这个名为“python画图-使用Python+turtle实现画二叉树”的压缩包文件,显然是为了教你如何利用turtle库来绘制二叉树的图形。 二叉树是一种数据结构,它由节点组成,每个节点最多有两个子节点,分别称为左子节点和右...

    Python实现二叉树前序、中序、后序及层次遍历示例代码

    在本文中,我们将深入探讨如何使用Python实现二叉树的前序、中序、后序遍历以及层次遍历。二叉树作为一种重要的数据结构,广泛应用于计算机科学中,例如在搜索、排序、编码等方面。了解如何有效地遍历二叉树对于理解...

    二叉树演示 实现二叉树图形显示

    在计算机科学中,二叉树被广泛应用于数据的组织和操作,如搜索、排序、文件系统等。本例子关注的是如何实现二叉树的图形显示,让用户能够直观地理解二叉树的结构。 在二叉树的实现中,首先需要定义一个二叉树节点的...

    树和二叉树python实现与讲解.docx

    树和二叉树 Python 实现与讲解 树是一种数据结构,包括节点和边,拥有层级关系。树的概念在计算机科学中非常重要,用于解决排序问题,堆排序和树的概念密切相关。树结构有多种类型,如二叉树、堆等。 二叉树是一种...

    Python实现重建二叉树的三种方法详解

    本文实例讲述了Python实现重建二叉树的三种方法。分享给大家供大家参考,具体如下: 学习算法中,探寻重建二叉树的方法: 用input 前序遍历顺序输入字符重建 前序遍历顺序字符串递归解析重建 前序遍历顺序字符串...

    二叉树的遍历和排序系统

    在提供的文件中,"tree_dll"可能是一个动态链接库文件,用于实现二叉树的遍历或排序功能;"TreeShow"可能是展示二叉树结构的程序,帮助用户可视化理解;"ShowTreeEXE"则可能是执行显示二叉树的可执行文件。 通过...

Global site tag (gtag.js) - Google Analytics