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