独自の並べ替えアルゴリズムを考案する際に、比較できる最適なベンチマークを探しています。要素Aの並べ替えられていない順序と並べ替えられた順序Bの場合、AからBへの最適な転置数を計算する効率的な方法は何ですか?
転置は、リスト内の2つの要素の位置を切り替えることとして定義されるため、たとえば
1 2 4 3
それを作るために1つの転置(転置4と3)を持っています
1 2 3 4
何かのようなもの
1 7 2 5 9 6
4つの転置(7、2)、(7、6)、(6,5)、(9、7)が必要
更新(9/7/11):質問は、「交換」ではなく「転置」を使用して、隣接していない交換を参照するように変更されました。
隣人だけを交換できるとしたらどうでしょう?スワップの最小数を知るにはどうすればよいですか?