Jump to content

Dijkstra Algorithm Distance Calculation

- - - - -

  • Please log in to reply
No replies to this topic

#1
fyo

fyo

    Newbie

  • Members
  • Pip
  • 4 posts
Hello,

I am having some trouble in working out the distance of each node from the starting node in my Dijkstra Algorithm code. Here is my code with the section i'm stuck on in bold:

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:

[B]#         if Node[currentNode].distFromSource + 

	 currentDistance = startNode + currentNode

#      currentDistance = currentNode.distFromSource + nodeTable.currentNode [/B]

         currentNode.previous = currentNode

         currentNode.length = currentDistance

         currentNode.visited = True

         currentNode +=1

         nearestNeighbour.append(currentNode)

         print nearestNeighbour


    return nearestNeighbour


currentNode = startNode


if __name__ == "__main__":

    populateNodeTable()

    tentativeDistance(currentNode,populateNodeTable())

I've no idea on where I am going wrong, i've tried a few things now but nothing seems to work




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users