Python中如何实现各位大牛帮忙的功能?

请设计一个算法从上到下逐层打印二叉树的节点数据,同一层从左到右打印,节点数据类型为整型
需求:描述算法,并编写实现代码-----代码尽量用 python,java 也可以
Python中如何实现各位大牛帮忙的功能?

25 回复

关键词:tree 层次遍历……可以搜索了


我无法理解你的问题。

关键词:二叉树的层序遍历、栈
可以搜索了

可以使用性质 父节点( n, 索引,n 的大于 0 ) 的子节点 的索引 2n 和 2n+1, 可以先把数读到 list 中,在以这个性质读。我就能想到这种方式

楼主还是看看 HTAQ 吧

面试题还是作业?

这种问题也好意思到这里来问?
百度一下 Python 二叉树 广度优先遍历

前几天写了个按广度 遍历。不过不是二叉树,是普通的树。

队列

不知道是不是你手误,想请教栈实现层序遍历的算法。

嗯 看了一下 lz 的主题列表 block ~

不是很常见的广度优先么…

二叉树常规题–层次遍历

![]( https://zhimap.com/res/b/1/1533386266929448959.png)

btw,最近怎么这么多水帖…

同问 栈+bfs 是先用栈实现队列吗 还是有什么奇淫技巧

这不就是二叉树的先序遍历吗?

作业请自己做。

看了下 history,完全是无脑伸手党啊…

if root is None:
print(’’)
else:
nodes = [root]
while nodes:
next_nodes = []
for node in nodes:
print(node.val)
branches = [node.left, node.right]
if node.left is not None:
next_nodes.append(node.left)
if node.right is not None:
next_nodes.append(node.right)
nodes = next_nodes

广度优先大概思路,代码不保证可运行

不好意思,确实是手误了…应该是用队列

不好意思手误了…是用队列的…

职业伸手党啊。

为什么不自己思考,自己查找,非要伸手呢?

这明明是深度遍历

开一个队列,加入根节点,取队列头输出子树,然后将子树依次加入队列,至队列空。
代码就不给了,自己的作业自己做。

回到顶部