2011-05-18 66 views

回答

4

只要您一致並且使用相同的語言來實現這兩種算法,您就可以使用這兩種語言中的任何一種。例如,用C編寫Dijkstra並將其與用Java編寫的Bellman-Ford比較是不準確的。

6

語言開銷將相同,因此您可以使用任何語言來比較兩種算法。

2

我認爲你應該可以使用Java進行這樣的比較。雖然可能難以解釋你的結果。例如,編寫使用對象和垃圾收集的代碼可能不是最好的想法,因爲您會發現很難將這些效果與原始運行時間隔離開來。啓動開銷相似,但在算法中,最終可能會在一箇中使用更多的Java(可能在Dijkstra的算法中使用更多的Java),並因此放慢速度。

1

一個很好的「測試測試」是比較幾種不同語言實現中的兩種算法。如果在實現中比較是一致的,那麼這就是很好的證據,表明結果不是由於語言或執行環境的事故造成的。

+0

絕對。如果我是評估者,那麼測試的實現和任何差異的評估的比較將是很多獎勵標記。 – Keith 2011-05-19 00:33:41