Sorting 插入排序/堆排序时间复杂性

Sorting 插入排序/堆排序时间复杂性,sorting,time-complexity,heapsort,insertion-sort,Sorting,Time Complexity,Heapsort,Insertion Sort,假设您必须使用n=1000000元素对数组进行排序。假设每个基本步骤需要1毫秒,插入排序和堆排序大约需要多长时间 我知道插入排序在最坏的情况下需要n^2步,而heapsort在最坏的情况下需要n log n步 因此插入排序的1000000^2为1*10^12毫秒 堆排序的1000000*日志(1000000)6000000毫秒 对吗?嗯 问题是“顺序”符号只讨论限制和比较,而不是绝对时间。它还省略了常量和低阶项 例如(这完全是虚构的),您可能正在查看的特定插入排序实现的实际运行时间可能是: n

假设您必须使用
n=1000000
元素对数组进行排序。假设每个基本步骤需要1毫秒,插入排序和堆排序大约需要多长时间


我知道插入排序在最坏的情况下需要
n^2
步,而heapsort在最坏的情况下需要
n log n

因此插入排序的
1000000^2
1*10^12
毫秒

堆排序的
1000000*日志(1000000)
<代码>6000000毫秒

对吗?

问题是“顺序”符号只讨论限制和比较,而不是绝对时间。它还省略了常量和低阶项

例如(这完全是虚构的),您可能正在查看的特定插入排序实现的实际运行时间可能是:

num steps = 45,334 * n^2 + 6,500,000 * n + 2,000,000
这是一个
O(n^2)
算法,但它需要比您计算的时间多得多的时间