Python 如何使用

Python 如何使用,python,tree,breadth-first-search,Python,Tree,Breadth First Search,我是Python新手,正在尝试构建一个基于字符的BFS树,用于打印父子关系。这是一个密切相关的解决方案,但它是一个基于数字的树 在此处找到,特别是参考文献中的以下示例: def printBfsLevels(graph,start): queue=[start] path=[] currLevel=1 levelMembers=1 height=[(0,start)] childCount=0 print queue while queue: visNode=queue.pop(0) if vi

我是Python新手,正在尝试构建一个基于字符的BFS树,用于打印父子关系。这是一个密切相关的解决方案,但它是一个基于数字的树 在此处找到,特别是参考文献中的以下示例:

def printBfsLevels(graph,start):
queue=[start]
path=[]
currLevel=1
levelMembers=1
height=[(0,start)]
childCount=0
print queue
while queue:
visNode=queue.pop(0)
if visNode not in path:
  if  levelMembers==0:
    levelMembers=childCount
    childCount=0
    currLevel=currLevel+1
  queue=queue+graph.get(visNode,[])
  if levelMembers > 0:
    levelMembers=levelMembers-1
    for node in graph.get(visNode,[]):
      childCount=childCount+1
      height.append((currLevel,node))
  path=path+[visNode]

prevLevel=None

for v,k in sorted(height):
    if prevLevel!=v:
      if prevLevel!=None:
        print "\n"
    prevLevel=v
    print k,
return height

g={1: [2, 3,6], 2: [4, 5], 3: [6, 7],4:[8,9,13]}
printBfsLevels(g,1)

如有建议,将不胜感激。谢谢

对于图形,我使用networkx库


你应该看看

将g中的数字替换为字符?你能给我举个例子吗?当我尝试用“A”替换“1”时,例如,我收到错误,“A未定义”。