【发布时间】:2018-08-18 17:33:50
【问题描述】:
我想在 python 中打印 N 叉树中从根到叶节点的所有路径。我有一个想法在二叉树中打印它,但在 N 元中这样做并没有给我正确的结果。
我在这里弹出并访问子节点列表中的每个节点,但不确定如何为每个叶节点分别打印路径。
class createnode:
def __init__(self,val):
self.data=val
self.child=[]
def traverse(root):
global path
if root.child:
while(len(root.child)>0):
x=root.child.pop(0)
path.append(x.data)
traverse(x)
else:
printarray(path)
def printarray(path):
print(path)
root = createnode(10)
root.child.append(createnode(2))
root.child.append(createnode(4))
root.child[0].child.append(createnode(15))
root.child[0].child.append(createnode(20))
root.child[0].child.append(createnode(25))
root.child[0].child.append(createnode(30))
root.child[1].child.append(createnode(45))
root.child[1].child.append(createnode(50))
root.child[1].child.append(createnode(55))
root.child[1].child.append(createnode(60))
path=[]
total_val=30
traverse(root)
预期输出:
10、2、15
10、2、20
10、2、25
10、2、30
10、4、45
10、4、50
10、4、55
10、4、60
【问题讨论】:
标签: python data-structures graph backtracking