如何在Python中获取常规树的所有子节点
“我的树”具有以下结构: tree={'0':('1','2','3'),'1':('4'),'2':('5','6'),'3':(),'4':('7','8'),'8':('9','10','11')) 如何编写Python代码来检索特定节点的所有给定子节点? 例如,如果我给它节点4,代码应该检索7,8,9,10,11。 对于节点2,它应该检索5、6等等 我刚开始学习Python的基础知识,但我不知道如何为非二叉树实现这一点。您可以使用队列。获得用户请求的值后,将其推送到队列中。然后,当队列不为空时,弹出一个值,打印它,检查dict,如果当前值是dict中的一个键,则将这些值中的每一个添加到队列中,以便在下一个过程中检查它们如何在Python中获取常规树的所有子节点,python,tree,child-nodes,Python,Tree,Child Nodes,“我的树”具有以下结构: tree={'0':('1','2','3'),'1':('4'),'2':('5','6'),'3':(),'4':('7','8'),'8':('9','10','11')) 如何编写Python代码来检索特定节点的所有给定子节点? 例如,如果我给它节点4,代码应该检索7,8,9,10,11。 对于节点2,它应该检索5、6等等 我刚开始学习Python的基础知识,但我不知道如何为非二叉树实现这一点。您可以使用队列。获得用户请求的值后,将其推送到队列中。然后,当队列不
导入队列
tree={'0':('1','2','3'),'1':('4'),'2':('5','6'),'3':(),'4':('7','8'),'8':('9','10','11'))
num=输入(“您想要什么”)
q=队列。队列()
q、 put(num)
而不是q.empty():
n=q.get()
对于n中的s:
印刷品
如果树中有一个树:
q、 放置(树[s])
请注意,如果您有一个tree
tree={0':('1'),'1':('0')}
,或任何其他循环引用,则此代码将永远运行。小心 非常感谢你,这非常好用!无论如何,这也可以通过使用递归来实现吗?当然可以!使用列表来保存当前密钥,而不是使用队列。创建一个循环遍历每个键的函数。对于每个键,获取所有值,将它们放入列表中,然后使用该列表调用函数。完成列表后,或者如果列表为空,则打印当前值并返回。