37.python二叉树 链表建立,遍历

#@设计一个python程序,按输入一个二叉树的数据,分别是5、6、24、8、12、3、17、1、9利用链表来简历二叉树,最后是进行终须遍历,大家会发现可以轻松完成从小到大的排序
class tree:
    def __init__(self):
        self.data=0
        self.left=None
        self.right=None
def create_tree(root,val):
    newnode=tree()
    newnode.data=val
    if root==None:
        root=newnode
        return root
    else:
        current=root
        while current!=None:
            backup=current
            if current.data>val:
                current=current.left
            else:
                current=current.right
        if backup.data>val:
            backup.left=newnode
        else:
            backup.right=newnode
    return root
def minorder(ptr):
    if ptr!=None:
        minorder(ptr.left)
        print("排序结果为:",ptr.data)
        minorder(ptr.right)
data=[5,6,24,8,12,3,17,1,9]
ptr=None
for i in range(len(data)):
    ptr=create_tree(ptr,data[i])
minorder(ptr)

参考图解数据结构书

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值