Ao tentar criar meu próprio algoritmo de classificação, estou procurando o benchmark ideal com o qual posso compará-lo. Para uma ordem não classificada dos elementos A e uma ordem classificada B , qual é uma maneira eficiente de calcular o número ideal de transposições para ir de A a B ?
Uma transposição é definida como alternar a posição de 2 elementos na lista, portanto, por exemplo
1 2 4 3
tem uma transposição (transposição 4 e 3) para torná-lo
1 2 3 4
Algo como
1 7 2 5 9 6
requer 4 transposições (7, 2), (7, 6), (6,5), (9, 7)
Atualização (7/9/11): a pergunta foi alterada para usar "transposição" em vez de "swaps" para se referir a trocas não adjacentes.