Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python中将二叉树打印为节点结构
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个<a href="https://1drv.ms/f/s!Aj9lfQS8qKqwnWiXL_t6pVaPHu0y" rel="nofollow noreferrer">python code</a>来将一个字符串数学表达式转换成一个二叉树,并对树的节点进行排序,这样左子节点总是比右子节点小。我想按以下顺序打印二叉树。在</p> <p>例如,考虑数学表达式((2*75)/4)。buildParseTree()将字符串表达式转换为树,printNodeInLevels()重新排列节点,使每个级别的左子节点小于右子节点。操作数<;运算符和运算符的顺序为“+”<;“-”<;“*”<;“/”。如果树的结构是这样的</p> <pre><code> + /\ 4 * /\ 2 75 </code></pre> <p>我想打印如下。我该怎么做?因为数学表达式的长度一直在变化,例如(24*2),((5-1)*(2/3)),(20-(5+4))等</p> ^{pr2}$ <p>我已经找到了按级别打印节点的方法,就像在按顺序遍历中一样模式。如果我按如下方式调用该方法,它将打印以下内容:</p> <pre><code>pt = buildParseTree("( ( 2 * 74 ) / 4 )") printNodesInLevels(pt) </code></pre> <p>输出:</p> <pre><code>/ 4 * 2 74 </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>首先,您应该阅读python的PEP8代码约定,因为它说函数、属性和变量应该是snake_的大小写。在</p> <p>你正在以一种迭代的方式打印,这意味着你不能在等腰三角形中打印它,因为你不知道底部(树的最低部分)的大小,以迭代的方式,你应该像一个90度角的三角形一样打印它。在</p> <p>或者您可以将所有信息收集到一个列表或一个字符串中,然后将其格式化并打印出来。想想头,然后想想孩子们中间有线。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
9 回答
将Pandas数据帧转换为scipy稀疏矩阵
7 回答
将Pandas数据帧转换为Spark Datafram时出现问题
9 回答
将pandas数据帧转换为spark DataFram时出错
4 回答
将Pandas数据帧转换为spark datafram时收到错误
6 回答
将Pandas数据帧转换为Spark数据帧
3 回答
将Pandas数据帧转换为Tensorflow数据
5 回答
将Pandas数据帧转换为tkinter obj
5 回答
将pandas数据帧转换为XML
2 回答
将Pandas数据帧转换为值sql语句
2 回答
将pandas数据帧转换为元组
5 回答
将pandas数据帧转换为元组列表
9 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
4 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
7 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
9 回答
将pandas数据帧转换为内存中类似文件的对象?
8 回答
将Pandas数据帧转换为内存功能(&F)
1 回答
将pandas数据帧转换为列表列表
8 回答
将pandas数据帧转换为列表列表以输入到RNN
10 回答
将Pandas数据帧转换为单行DataFram
1 回答