For the set S = {1, 2,..., n}, a permutation π: S→ S such that π(i) = i is called a complete permutation, and the string π(l) π(2)... π(n) is called a derangement. In this paper, the authors consider the generation of a list that contains one instance of every derangement. Sequential generation, which sequentially generates a string by interchanging characters in the string, can generate the list more efficiently when fewer characters are interchanged. If P(S) denotes the list of derangements and deg(P(S)) denotes the maximum value of the numbers of characters that are interchanged, no list of derangements such that deg(P(S)) = O(1) is known as of today. In this paper, the authors notice that a derangement can be decomposed into mutually disjoint cycles to show that there exists no list of derangements such that deg(P(S)) = 2. Also, in the second half of this paper, they consider an algorithm for generating a list for which deg(T(S)) = 4 for |S|≥ 4. According to this algorithm, the average number of characters that are interchanged is roughly 2.980.
展开▼
机译:对于集合S = {1,2,...,n},将一个置换π:S→S使得π(i)= i称为完全置换,并将字符串π(l)π(2)称为。 ..π(n)称为重排。在本文中,作者考虑生成包含每个排列的一个实例的列表。顺序生成通过交换字符串中的字符来顺序生成字符串,当交换较少的字符时,可以更有效地生成列表。如果P(S)表示排列的列表,而deg(P(S))表示交换的字符数的最大值,则没有排列表,使得deg(P(S))= O(1)是众所周知的今天。在本文中,作者注意到,可以将一个排列分解为互不相交的循环,以表明不存在排列清单,使得deg(P(S))=2。而且,在本文的第二部分,他们考虑| S |≥4时,用于生成deg(T(S))= 4的列表的算法。根据此算法,互换的平均字符数约为2.980。
展开▼