假设CPU每秒可处理10 ^ 8次操作。假设您必须使用10 ^ 6个元素对数组进行排序?
在hr?
中插入排序n合并排序所需的时间是多少?想知道如何计算时间。
答案 0 :(得分:2)
所提供的信息不足以给出问题的准确答案。
所花费的时间取决于数据本身和算法的实现。
当然,可以根据合理的假设进行估算。
插入排序为O(n^2)
,因此按K1 * 10^12
次操作的顺序排序数组,或K1 * 10^4
秒。即使使用优化的实现,插入排序也可能需要几个小时。
合并排序为O(n * log n)
,因此它将按K2 * 10^6 * 6
次操作的顺序对数组进行排序,或K2 * 6 * 10^(-2)
秒。合并排序可能需要不到一秒钟。
这个例子是一个很好的插画家,为什么选择正确的算法来完成这项工作很重要。