数学定义"部分排序"

时间:2015-03-30 08:25:28

标签: sorting math partial insertion-sort

例如,插入排序被描述为部分排序数组的有效算法。但是,如何精确定义“部分排序”?

1 个答案:

答案 0 :(得分:5)

这是一个几乎没有元素的数组。如果没有指定百分比或其他阈值,则部分排序和未排序之间没有严格的区别。

Robert Sedgewick和Kevin Wayne的Algorithms的正式定义:

  

更一般地说,我们考虑部分排序的数组的概念,如下所示: inversion 是一对在数组中乱序的条目。例如,E X A M P L E具有11个反转:E-A,X-A,X-M,X-P,X-L,X-E,M-L,M-E,P-L,P-E和L-E。如果数组中的反转次数小于数组大小的常数倍,我们说数组部分排序

Insertion sort的维基百科页面如下所示:

  

[...]数组 A 将在某个意义上进行部分排序,即每个元素最多 K 位置远离其最终的排序位置。 [...]