边位于字符串列表中:[“Origin1 Destination1”“Origin2 Destination2”…] 该程序在较小的测试中完成了这项工作,但是当它尝试运行14级二叉树时,它失败了,并显示分段错误。你知道吗
def AdjVtc(vertex, lstObjVtx, lstEdges):
adj = []
for edge in lstEdges:
edg = edge.split(" ")
origin = edg[0]
destination = edg[1]
if origin == vertex.getName():
for vertexSearch in lstObjVtx:
if vertexeSearch.getName() == destination:
if vertexSearch.getColor() != 2:
adj.append(vertexSearch)
break
return adj
def bfs(lstVertex, lstEdges):
lstObjVtx = []
for a in lstVertex:
vertex = Vertex(a, 0)
lstObjVtx.append(vertex)
lstObjVtx[0].setCor(1)
lstObjVtx[0].setD(0)
queue = []
queue.append(lstObjVtx[0])
print (lstObjVtx[0].getName(), end = " ")
print (lstObjVtx[0].getName(), end = " ")
print (0)
while queue != []:
actual = queue.pop(0)
lstAdj = AdjVtx(actual, lstObjVtx, lstEdges)
for adjacent in lstAdj:
if adjacent.getColor() == 0:
adjacent.setD(atual.getD() + 1)
adjacent.setFather(atual)
adjacent.setColor(1)
queue.append(adjacent)
print (lstObjVtx[0].getName(), end = " ")
print (adjacent.getNome(), end = " ")
print (adjacent.getD(), end = "\n")
actual.setColor(2)
目前没有回答
相关问题 更多 >
编程相关推荐