获取 Dijkstra 函数所用的时间

get the time taken for Dijkstra function

我只想计算 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

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

试试这个

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