Python中文
首页
教程
问答
标签
搜索
登录
注册
Python中的二叉树
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>这是我在Python中实现二叉树的代码片段。这在我运行PreOrder函数时有效。</p> <pre><code>class Node: def __init__(self,data): self.left = None self.right = None self.data = data class BinaryTree(Node): def __init__(self): self.root = None def addNode(self,data): return Node(data) def insert(self,root,data): if(root == None): root = self.addNode(data) else: if(data <= root.data): root.left = self.insert(root.left,data) else: root.right = self.insert(root.right,data) return root def PreOrder(self,root): if root == None: pass else: print(root.data) self.PreOrder(root.left) self.PreOrder(root.right) a = BinaryTree() root = a.addNode(2) #root = None a.insert(root,4) a.insert(root,34) a.insert(root,45) a.insert(root,46) a.insert(root,41) a.insert(root,48) a.PreOrder(root) </code></pre> <p>但是将第2和第3行的main更改为</p> <pre><code>#root = a.addNode(2) root = None </code></pre> <p>什么都没印。我觉得我错过了一些基本的东西。如有任何澄清,将不胜感激。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你有<code>root = None</code>,然后在<code>PreOrder</code>你的第一行是<code>if root == None: pass</code>,所以它不会为你做任何事情。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
4 回答
无法使用Django\u mssql\u后端迁移到外部hos
3 回答
无法使用Django&Python3.4连接到MySql
4 回答
无法使用Django+nginx上载媒体文件
9 回答
无法使用Django1.6导入名称模式
6 回答
无法使用Django1.7和mongodb登录管理站点
6 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
5 回答
无法使用Djangockedi验证CBV中的字段
1 回答
无法使用Djangocketditor上载图像(错误400)
3 回答
无法使用Djangocron进行函数调用
6 回答
无法使用Djangofiler djang上载文件
1 回答
无法使用Djangokronos
1 回答
无法使用Djangomssql provid
7 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
4 回答
无法使用Djangomssq迁移Django数据库
5 回答
无法使用Djangonox创建用户
2 回答
无法使用Djangopyodb从Django查询SQL Server
3 回答
无法使用Djangopython3ldap连接到ldap
6 回答
无法使用Djangoredis连接到redis
10 回答
无法使用Django中的FK创建新表
4 回答