1
我已經在MIT計劃中實現了我自己的合併排序。我想測試它與內建的merge-sort
並比較時間;但是,我不知道如何獲得兩者的運行時間。當我測試多達100萬個元素時,你如何增加堆棧大小/遞歸深度。MIT計劃 - 合併排序+計時執行
我已經在MIT計劃中實現了我自己的合併排序。我想測試它與內建的merge-sort
並比較時間;但是,我不知道如何獲得兩者的運行時間。當我測試多達100萬個元素時,你如何增加堆棧大小/遞歸深度。MIT計劃 - 合併排序+計時執行
有一羣麻省理工學院計劃定時程序,檢查documentation。特別是,試試這個:
(with-timings
(lambda()
(merge-sort '(1 2 3 4 5) >))
(lambda (run-time gc-time real-time)
(write (internal-time/ticks->seconds run-time))
(write-char #\space)
(write (internal-time/ticks->seconds gc-time))
(write-char #\space)
(write (internal-time/ticks->seconds real-time))
(newline)))
內置sort
不應該有一百萬元,如果自己的實現是一個很好的問題,它不應該產生結果的問題與該數據大小。
謝謝你的朋友:) – Ketameme
FYI自下而上歸併不需要遞歸,可與循環中自然實現。 –
謝謝!我可能會嘗試減少開銷 – Ketameme