2024-09-27 04:23:20 发布
网友
我的树有以下结构: 树={'0':('1','2','3'),'1':('4'),'2':('5','6'),'3':(),'4':('7','8'),'8':('9','10','11')}
如何编写Python代码来检索特定节点的所有给定子节点? 例如,如果应该检索代码11,4,9。 对于节点2,它应该检索5、6等。在
我刚开始学习Python的基础知识,但不知道如何在非二叉树中实现这一点。。在
import queue tree={'0':('1','2','3'), '1':('4'), '2':('5','6'), '3':(), '4':('7','8'), '8':('9','10','11')} num = input("what you want ") q = queue.Queue() q.put(num) while not q.empty(): n = q.get() for s in n: print(s) if s in tree: q.put(tree[s])
Demo
请注意,如果您有一个树tree={'0':('1'), '1':('0')},或任何其他循环引用,此代码将永远运行。小心!在
tree={'0':('1'), '1':('0')}
您可以使用一个队列。
一旦您获得了用户请求的值,就将其放入队列中。然后,当队列不为空时,弹出一个值,打印它,检查dict,如果当前值是dict中的一个键,则将这些值中的每一个添加到队列中,以便在下一个过程中检查它们。Demo
请注意,如果您有一个树
tree={'0':('1'), '1':('0')}
,或任何其他循环引用,此代码将永远运行。小心!在相关问题 更多 >
编程相关推荐