コード例 #1
0
def relax(search, edge):
    v = e.either(edge)
    w = e.other(edge, v)
    visited_v = map.get(search['visitedMap'], v)['value']
    visited_w = map.get(search['visitedMap'], w)['value']
    if visited_w['distTo'] > (visited_v['distTo'] + e.weight(edge)):
        distToW = visited_v['distTo'] + e.weight(edge)
        map.put(search['visitedMap'], w, {'marked':True,'edgeTo':edge,'distTo':distToW})
        if minpq.contains(search['minpq'], w): 
            minpq.decreasePriority(search['minpq'], w, distToW)
        else:
            minpq.insert(search['minpq'], w, distToW)
コード例 #2
0
    def test_edgeMethods(self):
        edge = e.newEdge('Bogota', 'Cali')

        edge = e.newEdge('Bogota', 'Cali')
        self.assertEqual('Bogota', e.either(edge))
        self.assertEqual('Cali', e.other(edge, e.either(edge)))
        self.assertEqual(e.weight(edge), 0)
コード例 #3
0
    def test_edgeMethods(self):
        edge = e.newEdge('Bogota', 'Cali')

        print(e.either(edge))
        print(e.other(edge, e.either(edge)))
        print(e.weight(edge))