2017-06-05 53 views
1

我已經在MIT計劃中實現了我自己的合併排序。我想測試它與內建的merge-sort並比較時間;但是,我不知道如何獲得兩者的運行時間。當我測試多達100萬個元素時,你如何增加堆棧大小/遞歸深度。MIT計劃 - 合併排序+計時執行

+1

FYI自下而上歸併不需要遞歸,可與循環中自然實現。 –

+0

謝謝!我可能會嘗試減少開銷 – Ketameme

回答

2

有一羣麻省理工學院計劃定時程序,檢查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不應該有一百萬元,如果自己的實現是一個很好的問題,它不應該產生結果的問題與該數據大小。

+0

謝謝你的朋友:) – Ketameme