如何使用python实现二叉排序树
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,小编给大家分享一下如何使用python实现二叉排序树,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!方法一(粗暴)#二叉排序树class BTree(): def __init_
千家信息网最后更新 2025年11月16日如何使用python实现二叉排序树
小编给大家分享一下如何使用python实现二叉排序树,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
方法一(粗暴)
#二叉排序树class BTree(): def __init__(self,data): self.left = None self.right = None if type(data) == list: self.data = data[0] for d in data[1:]: self.insert(d) else: self.data = data def insert(self,data): bt = self while True: if data <= bt.data: if bt.left == None: bt.left = BTree(data) break else: bt = bt.left else: if bt.right == None: bt.right = BTree(data) break else: bt = bt.right def mid_order(self): res = [] stack = [] node = self while node or stack: while node: stack.append(node) node = node.left node = stack.pop() res.append(node.data) node = node.right return resdata = [5,1,2,3,6,8,9]bt = BTree(data)print(bt.mid_order())

方法二(递归)
class TreeNode(object): def __init__(self,data): self.data = data self.left = None self.right = Noneclass BinaryTree(object): def insert(self,root, node): if root is None: return node if node.data < root.data: root.left = self.insert(root.left, node) else: root.right = self.insert(root.right, node) return root def mid_order(self,root): node = root stack = [] res = [] while node or stack: while node: stack.append(node) node = node.left node = stack.pop() res.append(node.data) node = node.right return res data = [5,1,2,3,6,8,9]root = TreeNode(data[0])tree = BinaryTree()for i in data[1:]: tree.insert(root,TreeNode(i))print(tree.mid_order(root))

看完了这篇文章,相信你对"如何使用python实现二叉排序树"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
排序
方法
篇文章
粗暴
完了
更多
知识
行业
资讯
资讯频道
频道
递归
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
许昌网络运维与网络安全工程师
vbaexcel数据库接口
旺旺文件服务器
镜像数据库不包括
能源行业网络安全竞赛
拿站获取数据库
易语言数据库数据唯一标识是什么
成都荣呗互联网科技有限公司
网络技术工程师论坛
视图如何提高了数据库的安全性
网络安全有哪些标准
马鞍山电脑服务器回收在线咨询
桑拿系统不能连接数据库
涉密软件开发资质证书都有哪些
数据库视图三类
火狐插件找不到服务器
远程服务器管理器快捷键
SQL数据库权限怎么设置
广东软件开发解决方案应用
上海专业软件开发如何收费
网络安全知识内容文字30字
http 500 内部服务器错误
数据库2008建表
以色列期刊数据库
数据库分页 limit
dns连接错误找不到服务器
学习计算机网络技术的感受
网络安全防护措施清单
微信数据库
软件开发如何需求分析左移