我只想來計算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
如果你想* *措施所花費的時間,你可以使用[秒錶類](https://開頭msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch%28v=vs.110%29.aspx)。或者你是否真的想計算處理器上單個步驟所花費的時間並將其加起來? –
我沒有得到他們之間的差異,對不起,你能解釋更多 – AlKobtan
如果你有一堵長18米的牆,你可以計算長度(磚的數量*每塊磚的長度+(磚的數量 - 1)*關節的大小)。磚的數量將代表指令的數量,磚的長度和關節的大小將代表每個指令所花費的時間。或者您可以用捲尺測量牆的長度,牆上代表代碼(您不需要知道磚和關節的個別尺寸),而捲尺代表運行代碼的時間。 –