python - 如何根据单个用户输入构建二叉树(广度优先或级别顺序)?
问题描述
我想通过将叶节点作为根节点从左到右递归地添加元素。
下面是我创建 3 个节点但无法正确插入新节点的代码。
class node:
def __init__(self,data):
self.left = None
self.right = None
self.data = data
class BinaryTree:
def __init__(self,root):
self.root = node(root)
def insert(self,value):
left = 0
right = 0
if self.root is not None:
if self.root.left is None:
self.root.left = node(value)
elif self.root.right is None:
self.root.right = node(value)
.
.
.
tree = BinaryTree(1)
tree.insert(2)
tree.insert(3)#---> till this it's okay.
tree.insert(4)
tree.insert(5)
tree.insert(6)
tree.insert(7)
我希望树看起来像这样
1
2 3
4 5 6 7
解决方案
推荐阅读
- java - java.util.NoSuchElementException 错误不知道如何修复
- reactjs - 使用 Webpack、Babel 和 React 进行生产构建时出错 - 错误:找不到模块 '@babel/runtime/core-js/get-iterator'
- javascript - 按下行后如何在 FooTable 中加载一些数据?
- javascript - 读取包装在承诺中的对象的属性的正确方法是什么?(获取类型错误)
- java - 如何将我的 authCode 变量从我的 JSP 传递到 Java 类以在 HTTP 调用中使用?
- podio - Podio API 从 ShareFile SSO 获取用户电子邮件
- php - 未收到 PHP 脚本发送的 FCM 通知
- r - 如何从具有多个列/子集的 .csv 文件创建散点图?
- amazon-web-services - AWS ECS Zuul 路由
- java - Hadoop动态计数器