得到Dijkstra功能所需的时间

时间:2016-05-02 09:30:30

标签: vb.net time dijkstra

我只想计算Dijkstra函数计算源节点最短路径所需的时间,因为网络节点在Q

    Do While True
        Dim dist As Integer = Integer.MaxValue
        For i = 1 To Q.Count
            If Q.Item(i).dist < dist Then
                dist = Q.Item(i).dist
                u = Q.Item(i)
            End If
        Next i
        If dist = Integer.MaxValue Then Exit Do 'no more nodes available - done!
        Q.Remove(u.name_t)
        'loop over neighbors of u that are in Q
        For j = 1 To Q.Count
            For Each train In trains
                If train.src.name_t = u.name_t And train.dst.name_t = Q.Item(j).name_t Then
                    alt = u.dist + train.t
                    If alt < Q.Item(j).dist Then
                        Q.Item(j).dist = alt
                        Q.Item(j).prev = u
                    End If
                End If
            Next
        Next
    Loop

2 个答案:

答案 0 :(得分:1)

试试这个

Dim starttime As DateTime 
Dim endtime As DateTime
Dim elapsed As Double
starttime = Format(Now(), "hh:mm:ss") 'beginning
'your code here
endtime = Format(Now(), "hh:mm:ss") 'end
Elapsed = DateDiff("s", starttime, endtime)
MsgBox("Finished in " & Elapsed & " seconds")

**编辑2 **

Sub time()
    startTime = Timer
    endtime = Timer
    totalTime = Format(finishTime - startTime, "ss")
End Sub

答案 1 :(得分:0)

获取函数执行前后的系统日期时间,然后计算差异。