2017-06-05 81 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