Python 编程实现键盘输入元素进行排序(二)二叉树排序

本文介绍了一种独特的排序方法——二叉树排序。通过详细讲解如何构建二叉树并进行中序遍历来实现排序。遵循二叉树的中序遍历规则,先访问左子树,然后访问根节点,最后访问右子树,从而得到有序序列。通过实例展示了从无到有构建二叉树的过程,并给出了排序的代码实现。
摘要由CSDN通过智能技术生成

今天咱们来将点不一样的排序方式——二叉树排序。这个排序方法比较有意思,而且也便于操作。

本文参考《Python数据分析从入门到精通》张啸宇、李静,电子工业出版社 5.3.2 排序

二叉树排序

二叉树排序的过程主要是二叉树的构建和遍历过程。本篇文章中所用二叉树遍历方法是二叉树的中序遍历

中序遍历:如果二叉树不为空,则先访问左子树。然后访问根节点,最后访问右子树;否则,程序退出。

其主要代码如下:

def inorder(node):                                  #中序遍历
    if node.data:
        if node.left:
            inorder(node.left)
        node.show()
        if node.right:
            inorder(node.right)

构建二叉树(关键部分)

二叉树排序主要是从无到有再到排序。所以构建二叉树便成了关键的一步。

从无到有:

 例如:由一组数据3,5,7,20,43,2,15,30,则二叉树的构建过程如下:

1)、首先将第一个数据3放入根节点:

2)、将数据5与根节点中的数据3进行比较,由于5大于3,因此将5放入3的右子树中。
在这里插入图片描述
3)、将数据7与根节点中的数据3比较,由于7大于3,因此将7放入3的右子树中;由于3已经有了右子树5,所以将7与5进行比较,7大于5,应将7放入5的右子树中。
在这里插入图片描述
4)、将数据20与根节点数据3比较,由于20大于3,因此将20放入3的右子树中;重复比较,最终将20放入7的右子树中。
在这里插入图片描述
5)、将数据43与树中节点值进行比较,最终放入20的右子树中。
6)、将数据2与根节点数据3比较,2小于3,放入左子树中。
7)、同样,将数据15与30进行处理,最终形成如下图的而二叉树。
二叉树排序
其主要代码如下:

def insert(node,value):                             #构建二叉树
    if value 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值