`
cakin24
  • 浏览: 1417235 次
  • 性别: 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中,我们可以用类来表示二叉树的节点,每个节点包含一个值、一个指向左子节点...

    python3二叉树实现

    在Python3中实现二叉树,可以帮助我们更好地理解这一数据结构的工作原理,并能在实际的算法设计和编程实践中发挥作用。本文旨在介绍如何在Python3环境下实现一个基本的二叉树功能库,并结合LeetCode上的中等难度题目...

    数据结构领域中二叉树排序的原理、实现及其应用场景解析

    使用场景及目标:适用于希望深入了解二叉树排序原理的人群,旨在帮助读者掌握二叉树排序的理论基础和技术实现,提高解决实际问题的能力。 其他说明:文章不仅讲解了二叉树排序的基础知识,还涉及到了高级主题,如...

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

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

    各种排序算法的Python实现

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

    Python实现堆排序算法代码

    Python实现堆排序算法的代码通常包含两个主要函数:一个用于构建堆,另一个用于实际的排序过程。堆构建函数通常采用递归方式,利用父节点和子节点之间的关系来确保每个节点都满足堆的性质。排序过程则通过不断交换堆...

    python二叉树的基础知识.docx

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

    用Python实现相关排序算法。插入排序、希尔排序、冒泡排序、快速排序、

    本文将详细介绍如何用Python语言实现包括插入排序、希尔排序、冒泡排序和快速排序在内的几种常见排序算法。 首先,插入排序(Insertion Sort)是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未...

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

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

    PYTHON:二叉树遍历方法

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

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

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

    python实现经典的排序算法.pdf

    插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 希尔排序(Shell Sort)是一种基于插入排序...

    Python实现普通二叉树

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

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

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics