【发布时间】:2014-07-13 11:39:24
【问题描述】:
我想以非顺序方式遍历集合 Q = [0, 2^16) 中的所有元素。为此,我需要一个函数 f(x) Q --> Q,它给出了对集合进行排序的顺序。例如:
f(0) = 2345
f(1) = 4364
f(2) = 24
(...)
要恢复顺序,我需要反函数 f'(x) Q --> Q 输出:
f(2345) = 0
f(4364) = 1
f(24) = 2
(...)
函数必须是双射的,对于 Q 的每个元素,函数唯一地映射到 Q 的另一个元素。
我怎样才能生成这样的函数,或者是否有任何已知的函数可以做到这一点?
【问题讨论】:
-
注意:您不仅需要 Q 的排列。您还需要 cyclic derangement;没有固定点且不能分解为多个独立循环的排列。
-
...哦,笨蛋,我认为
f(x)是“x 之后的内容”,但您可能认为它是“x 位置的内容”。
标签: function permutation algebra bijection