我刚刚开始学习Python(所以我是个新手),我需要编写一些代码来进行非二叉树遍历并为任何给定节点打印出所有子节点。
基本上,这是我所拥有的树结构: A = {'0':('1','2','3'),'1':('4'),'2':('5','6'),'3':( ),'4':('7','8'),'8':('9','10','11')}
我需要的是: 例如,给定节点4,我想打印出7和8 给定节点8,打印出9、10、11 给定节点1,打印4,7,8,9,10,11 等等。
有人可以帮我指出正确的方向吗?我一直在阅读和查看有关如何对二叉树执行此操作的示例,但是我完全不知道如何针对我的特定情况执行此操作。 到目前为止,这是我为简化版本所做的尝试(我将树砍成二进制树,只是为了弄清楚一些代码而希望弄清楚它),但是我无法推广到我的具体情况。顺便说一下,我在Anaconda(Jupyter Notebook)上使用Python 3.7
class Node:
def __init__(self,key):
self.left = None
self.right = None
self.val = key
def printPreorder(root):
if root:
print(root.val)
printPreorder(root.left)
printPreorder(root.right)
# Driver code
root = Node(0)
root.left = Node(1)
root.right = Node(2)
root.right.left = Node(5)
root.right.right = Node(6)
root.left.left = Node(4)
print ("Preorder traversal of binary tree is")
printPreorder(root)```