コードで問題が発生しました。開始ノードからノードまでの距離を計算できません。次の形式のテキスト ファイルがあります。
1,2,3,4,5,6,7,8,9
1,2,3,4,5,6,7,8,9
これは、グラフ内のノード距離を表します。残念ながら、これが私のコードです。いくつかの異なる方法を試したにもかかわらず、まださまざまなエラーメッセージが表示され続けています。
infinity = 1000000
invalid_node = -1
startNode = 0
class Node:
distFromSource = infinity
previous = invalid_node
visited = False
def populateNodeTable():
nodeTable = []
index =0
f = open('route.txt', 'r')
for line in f:
node = map(int, line.split(','))
nodeTable.append(Node())
print nodeTable[index].previous
print nodeTable[index].distFromSource
index +=1
nodeTable[startNode].distFromSource = 0
return nodeTable
def tentativeDistance(currentNode, nodeTable):
nearestNeighbour = []
for currentNode in nodeTable:
# if Node[currentNode].distFromSource + currentDistance = startNode + currentNode
# currentDistance = currentNode.distFromSource + nodeTable.currentNode
currentNode.previous = currentNode
currentNode.length = currentDistance
currentNode.visited = True
currentNode +=1
nearestNeighbour.append(currentNode)
print nearestNeighbour
return nearestNeighbour
def shortestPath (nearestNeighbour)
shortestPath = []
f = open ('spf.txt', 'r')
f.close()
currentNode = startNode
if __name__ == "__main__":
populateNodeTable()
tentativeDistance(currentNode,populateNodeTable())
私のtentativeDistance関数の「#」で始まる行は、私に問題を引き起こすセクションです. 私は混乱していますが、ウェブ上の他のいくつかの実装を見てきました