逆序对
此條目需要精通或熟悉相关主题的编者参与及协助编辑。 (2014年4月8日) |
在计算机科学和离散数学中,一个序列的逆序(inversion)对,是失去自然次序的元素对。
定義
逆序
設為一個排列,如果而且, 這個位置(有称为“序位”)对[1][2],或者這个元素对[3][4][5],被稱為是的一個逆序。
逆序集是所有逆序的集合。一個排列的使用基于位置表示法的逆序集,相同于其反向排列的使用基于元素表示法的逆序集,只有每个有序对的两个分量交換位置,反之亦然[6]。
通常逆序是對於排列的定義,但也可以用於序列: 設是一個序列(或多重集排列[7])。如果而且, 這個位置对[7][8],或者這个元素对[9],被稱為是的一個逆序。
對於序列,根據基于元素定义的逆序不是唯一性的,因為不同的位置对上可能有相同的值對。
逆序數
序列的逆序數[10],是逆序集的势,它常用於量度排列[5]或序列[9]的已排序程度(有时叫做预排序度presortedness)。逆序数在至之间,含二者。
在一個排列的箭頭指向圖中,它是箭頭指向相交叉的數[6],也是從单位排列而得到的Kendall tau距離,以及每個与逆序有關的向量之和,它们在后面章节中定義。
對於逆序數,基于位置与基于元素定義之间的分別並不重要,因為排列及其反向排列都具有相同的逆序數。
其它測量(預先)排序程度的方式,包括了為排好序列而從序列中可以刪除元素的最小數量,對序列所“運行”排序的次數和長度,每個元素在已排序位置之上的距離總和(Spearman footrule),以及排序過程中必需的最少交換次數[11]。比較排序算法計算逆序數的時間為[12]。
目前求逆序对数目比较普遍的方法,是利用归并排序做到的时间复杂度;也可以利用树状数组、线段树来实现这种基础功能。复杂度均为。
逆序有關的向量
有三個類似的向量用於將排列的逆序,壓縮到能唯一確定它的这个向量中。它們通常被稱為逆序向量或Lehmer碼。这里的定义及公式来源于逆序 (离散数学)。
本文將逆序向量記為[13],其它的兩個向量有時分別稱為“左”和“右”逆序向量;為了避免與前面的逆序向量混淆,本文將另兩個分別稱為“左逆序計數”和“右逆序計數”。左逆序計數是以反向colexicographic次序的排列[14],右逆序計數則是以字典序的排列。
逆序向量:
采用基于元素的定義,是有序对較小(右)分量為的逆序數[3]。
- 是在之中于之前,大于的元素的數量。
其更符合直觉的定义方式为:
- 是在之中于之前,大于的元素的数量。
后者定义也适用于没有反向对应者的序列。
左逆序計數:
采用基于位置的定義,是有序对較大(右)分量為的逆序數。
- 是在之中于之前,大于的元素的數量。
右逆序計數,通常稱為Lehmer碼:
采用基于位置的定義,是有序对較小(左)分量為的逆序數。
- 是之中于之後,小于的元素的數量。
和之间的关系:
|
的第一个数字和的最后一个数字总是,可以省略。
Rothe圖可以協助找出和。Rothe圖是以黑點來表示1的排列矩陣,每一個位置上若為逆序(通常以叉號表示),則在其右側與下方即有一點。是圖中第列排列逆序的加總,而是欄中排列逆序的加總。排列矩陣的逆矩阵即是此矩陣的轉置矩陣,因此某一排列的即是它轉置矩陣的,反之亦然。
和之间的关系:
範例:四個元素的全部排列
下面可排序表顯示了四個元素的集合,它的逆序集會有不同位置的24種排列、逆序相關向量和逆序數(右欄是它的反向排列,用於以colex排序)。可以看出和的位數總是相同,而和與位逆序集有關。 最右側欄是排列左上右下對角線的總和,如三角形圖示,以及是左下右上對角線的總和(配對在下降對角線中其右側都是組成,而在上升對角線中的左側都是組成)。 此表中的預設排序是反向colex次序,這與的colex次序相同。的字典序與的字典序相同。
|
|
排列的弱次序
n物品排列的集合其部份次序的結構,稱為排列的弱次序,而構成格。 以逆序集的子集關係繪出的哈斯圖,則構成了稱為permutohedron的骨架。 如果依位置將某一排列分配給每個逆序集,所得到的排序是permutohedron的次序,其中的邊對應於連續兩元素的交換。這是排列的弱排序。The identity is its minimum, and the permutation formed by reversing the identity is its maximum. 如果依元素將某一排列分配給每個逆序集,所得到的排序將是凱萊圖的次序,其中的邊對應於連續兩元素的交換。對稱組的凱萊圖與其permutohedron相似,但是每個排列由其反向替換。
参见
引用
- ^ Aigner 2007,第27頁.
- ^ Comtet 1974,第237頁.
- ^ 3.0 3.1 Knuth 1973,第11頁.
- ^ Pemmaraju & Skiena 2003,第69頁.
- ^ 5.0 5.1 Vitter & Flajolet 1990,第459頁.
- ^ 6.0 6.1 Gratzer 2016,第221頁.
- ^ 7.0 7.1 Bóna 2012,第57頁.
- ^ Cormen et al. 2001,第39頁.
- ^ 9.0 9.1 Barth & Mutzel 2004,第183頁.
- ^ Mannila 1985.
- ^ Mahmoud 2000,第284頁.
- ^ Kleinberg & Tardos 2005,第225頁.
- ^ Weisstein, Eric W. "Inversion Vector" (页面存档备份,存于互联网档案馆) From MathWorld--A Wolfram Web Resource
- ^ Reverse colex order of finitary permutations (OEIS數列A055089)
参考书目
- Aigner, Martin. Word Representation. A course in enumeration. Berlin, New York: Springer. 2007. ISBN 978-3642072536.
- Barth, Wilhelm; Mutzel, Petra. Simple and Efficient Bilayer Cross Counting. Journal of Graph Algorithms and Applications. 2004, 8 (2): 179–194. doi:10.7155/jgaa.00088 .
- Bóna, Miklós. 2.2 Inversions in Permutations of Multisets. Combinatorics of permutations. Boca Raton, FL: CRC Press. 2012. ISBN 978-1439850510.
- Comtet, Louis. 6.4 Inversions of a permutation of [n]. Advanced combinatorics; the art of finite and infinite expansions. Dordrecht,Boston: D. Reidel Pub. Co. 1974. ISBN 9027704414.
- Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford. Introduction to Algorithms 2nd. MIT Press and McGraw-Hill. 2001. ISBN 0-262-53196-8.
- Gratzer, George. 7-2 Basic objects. Lattice theory. special topics and applications. Cham, Switzerland: Birkhäuser. 2016. ISBN 978-3319442358.
- Kleinberg, Jon; Tardos, Éva. Algorithm Design. 2005. ISBN 0-321-29535-8.
- Knuth, Donald. 5.1.1 Inversions. The Art of Computer Programming. Addison-Wesley Pub. Co. 1973. ISBN 0201896850.
- Mahmoud, Hosam Mahmoud. Sorting Nonrandom Data. Sorting: a distribution theory. Wiley-Interscience series in discrete mathematics and optimization 54. Wiley-IEEE. 2000. ISBN 978-0-471-32710-3.
- Pemmaraju, Sriram V.; Skiena, Steven S. Permutations and combinations. Computational discrete mathematics: combinatorics and graph theory with Mathematica. Cambridge University Press. 2003. ISBN 978-0-521-80686-2.
- Vitter, J.S.; Flajolet, Ph. Average-Case Analysis of Algorithms and Data Structures. van Leeuwen, Jan (编). Algorithms and Complexity 1 2nd. Elsevier. 1990. ISBN 978-0-444-88071-0.
延伸阅读
- Margolius, Barbara H. Permutations with Inversions. Journal of Integer Sequences. 2001, 4.
预排序度测度
- Mannila, Heikki. Measures of presortedness and optimal sorting algorithms. IEEE Transactions on Computers. April 1985, C–34 (4): 318–325. doi:10.1109/tc.1985.5009382.
- Estivill-Castro, Vladimir; Wood, Derick. A new measure of presortedness. Information and Computation. 1989, 83 (1): 111–119. doi:10.1016/0890-5401(89)90050-3 .
- Skiena, Steven S. Encroaching lists as a measure of presortedness. BIT. 1988, 28 (4): 755–784. S2CID 33967672. doi:10.1007/bf01954897.