二叉树中的排序树,Python版

本文介绍二叉排序树的基本概念与特点,通过Python代码示例详细解析其插入及中序遍历的过程,帮助读者理解如何利用二叉排序树进行数据排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二叉排序树

定义:二叉排序树的查找过程是,通过采取二叉链表作为二叉排序树的存储结构。一个无序的数列,可以通过二叉树

中的排序树变成一个有序数列。

中序特点:所有节点都是左小右大

                                                                  

class mybtree: #创建一个类
    class node:
        def __init__(self):
            self.data = None #给一个接收的值
            self.left = None #左边的值
            self.right = None #右边的值
        def add(self,n):
            if self.data > n.data: #self.data代表第一个值,n.data代表第二个值,当第一个值大于第二个值,走if
                if self.left is None: #第一个值的左边为空时,走if
                    self.left = n
                else:
                    self.left.add(n)
            if self.data < n.data: #self.data代表第一个值,n.data代表第二个值,当第一个值小于第二个值,走if
                if self.right is None: #第一个值的右边为空时,走if
                    self.right = n
                else:
                    self.right.add(n)
        def zhong(self): #中序
            if self.left is not None: #左边的值为空时,走if
                self.left.zhong()
            print(self.data) #输出
            if self.right is not None: #右边的值为空时,走if
                self.right.zhong()
    def __init__(self):
        self.root = None
    def add(self,data):
        n = self.node()
        n.data = data
        if self.root is None:
            self.root = n
        else:
            self.root.add(n)
    def zhong(self):
        self.root.zhong()
t = mybtree() #调用方法
t.add(11)
t.add(7)
t.add(18)
t.add(5)
t.add(8)
t.add(24)
t.add(2)
t.add(3)
t.zhong()

输出结果是:

2

3

5

7

8

11

18

24


比较绕的地方加了注释,建议读者在阅读的时候,和我写的《二叉树中的排序树,java版》综合着看,对比学习比较好




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值