计算插入排序和合并排序的效率(daa)

时间:2015-01-21 13:15:32

标签: c++ c

假设CPU每秒可处理10 ^ 8次操作。假设您必须使用10 ^ 6个元素对数组进行排序?

在hr?

中插入排序n合并排序所需的时间是多少?

想知道如何计算时间。

1 个答案:

答案 0 :(得分:2)

所提供的信息不足以给出问题的准确答案。

所花费的时间取决于数据本身和算法的实现。

当然,可以根据合理的假设进行估算。

插入排序为O(n^2),因此按K1 * 10^12次操作的顺序排序数组,或K1 * 10^4秒。即使使用优化的实现,插入排序也可能需要几个小时。

合并排序为O(n * log n),因此它将按K2 * 10^6 * 6次操作的顺序对数组进行排序,或K2 * 6 * 10^(-2)秒。合并排序可能需要不到一秒钟。

这个例子是一个很好的插画家,为什么选择正确的算法来完成这项工作很重要。