使用给定运行时为Insertion Sort构造输入

时间:2015-02-07 07:04:38

标签: algorithm computer-science insertion-sort

有谁知道有什么好办法可以做到这一点?很容易找到输入族{I_i},其中InsertionSort(I_i)\ in \ Theta(n)或\ Theta(n ^ {2}

对于k的值,其中1 <1。 k&lt; 2?

是否有可能找到输入I以便InsertionSort(I)\ in \ Theta(n ^ {k})?

1 个答案:

答案 0 :(得分:1)

考虑一个n元素列表,其中第一个n ^(k / 2)元素正在减少[n ^(k / 2),n ^(k / 2)-1,...,1],其余nn ^(k / 2)个元素正在增加[n ^(k / 2)+ 1,n ^(k / 2)+ 2,...,n]。插入排序在第一部分是二次的,在第二部分是线性的。这是运行时间Theta(n ^ k + n-n ^(k / 2)),其为Theta(n ^ k),只要1