【发布时间】:2011-08-28 08:18:00
【问题描述】:
我有 10700 条记录,我需要尽快对它们进行排序 我一直在阅读有关排序算法类型的文章,但迷路了,我不知道什么是最好的选择:http://en.wikipedia.org/wiki/Sorting_algorithm
编辑 1: 我需要写一段代码来计算执行算法的时间
EDIT 1-2 : 是否有任何语言具有排序和计算排序时间的功能?
还有一个问题是用于实现算法的语言会影响速度吗? (例如,如果我使用 c++,它会比 java 或 .Net lang 更快吗???)
注意这不是家庭作业。
【问题讨论】:
-
我没有投反对票,但您询问“需要多少秒”,这在很大程度上取决于硬件,但没有提供任何相关信息。另外,如果你这样做了,没有人会为你做这个基准,你应该自己做基准。
-
您的问题无法真正回答。最佳选择取决于很多因素,包括您最熟悉的环境/语言,以及您想要优化的因素(仅时间、内存、平衡两者?担心数据偏差会影响时间?)它会更快吗”取决于它的编码方式。顺便说一句,10k 条记录相当小,可能太小而无法在现代平台上的合理算法之间产生明显差异。
-
@Mat amen to that - 一个算法选择标准有时会在过程中(太晚)弹出,即排序是否稳定,最好从一开始就考虑这一点。跨度>
-
好的,作为 nLog(n) 中的快速排序正常情况,速度(复杂性)因素的最佳选择是什么,以及如何计算独立于硬件的算法的执行时间?
标签: performance algorithm sorting programming-languages date-sorting