This script in python is causing a segmentation fault when the input is a binary tree with 14 levels (32767 vertex) -
the edges in list of string: ["origin1 destination1" "origin2 destination2"...] program job in smaller tests, when tries run 14 level binary-tree, fails , says segmentation fault.
def adjvtc(vertex, lstobjvtx, lstedges): adj = [] edge in lstedges: edg = edge.split(" ") origin = edg[0] destination = edg[1] if origin == vertex.getname(): vertexsearch in lstobjvtx: if vertexesearch.getname() == destination: if vertexsearch.getcolor() != 2: adj.append(vertexsearch) break return adj def bfs(lstvertex, lstedges): lstobjvtx = [] 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) 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)
Comments
Post a Comment