时间复杂度:使用唯一键进行插入排序

时间:2012-04-16 23:58:01

标签: sorting data-structures time-complexity

我有一个30个元素的随机有序数组,只有3个不同的键(TRUEFALSENULL),我想使用插入排序进行排序。什么是时间复杂性?假设最坏的情况是O(n 2 )还是O(n)假设最佳情况,因为只有3个不同的密钥?

1 个答案:

答案 0 :(得分:2)

n 指的是数组的大小,而不是数组的可能元素。因此,复杂性是相同的:

  • 最坏情况:O(n 2
  • 最佳案例:O(n)
  • 平均情况:O(n 2

具有3个不同的元素将减少在“插入”阶段期间必须检查的元素数量,但仅限于常数因子。这不会改变渐近运行时间。

例如,在平均情况下,它不会检查 n 元素,而是检查 n / 3 < / sub>元素。这是更好的,但不是渐近的。