Closed. This question needs details or clarity. It is not currently accepting answers. Learn more
想改进这个问题吗?添加细节并通过editing this post澄清问题。
我很好奇是否有某种智能排序算法。
智能排序算法是什么意思举个例子:
我在表中有5个数字排序:

1, 2, 3, 4, 5

然后我交换第二和第四,所以我有:
1, 4, 3, 2, 5

作为第二步,我交换第五步和第二步,最终结果是:
1, 5, 3, 2, 4

我对算法的期望是将最终集合作为输入(1,5,3,2,4),因此我希望得到信息,我应该交换第2和第5项,然后交换第2和第4项,以便对列表进行排序。
我正在考虑使用排序网络:我可以为一定大小的数据生成所有必需的比较和交换指令,然后返回那些将对输入数据执行的交换,但也许还有其他一些方法?
我该找什么?

最佳答案

查找最小交换的数量对于排序通常并不重要(交换可以在指针上完成),但就其本身而言,这是一个众所周知的问题。
看看这个问题:
Counting the adjacent swaps required to convert one permutation into another
或者把你的研究指向编辑距离。

08-06 04:16