如何在Python中获取general树的所有子节点

2024-09-27 04:23:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我的树有以下结构: 树={'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的基础知识,但不知道如何在非二叉树中实现这一点。。在


Tags: 代码节点结构基础知识二叉树定子
1条回答
网友
1楼 · 发布于 2024-09-27 04:23:20

您可以使用一个队列。

一旦您获得了用户请求的值,就将其放入队列中。然后,当队列不为空时,弹出一个值,打印它,检查dict,如果当前值是dict中的一个键,则将这些值中的每一个添加到队列中,以便在下一个过程中检查它们。
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')},或任何其他循环引用,此代码将永远运行。小心!在

相关问题 更多 >

    热门问题