Suponha duas listas de itens comparáveis: u e s. Seja INV (u) o número de inversões em u.
Estou procurando um algoritmo eficiente para inserir os itens de s em u com um aumento mínimo de INV (u).
Basicamente, gostaria de inserir objetos em uma lista, mantendo-o "o mais ordenado possível", mantendo a ordem da primeira lista.
Exemplo:
u = [4,6,2,9,7]
INV(u) = 3 ((4, 2), (6, 2) and (9, 7)
s = [8,3,10]
one optimal solution u' = [3, 4, 6, 2, 8, 9, 7, 10]
INV(u') = 5 ((4, 2), (7, 2) and (9, 7) + (3,2), (8,7))
different optimal solution u' = [3, 4, 6, 2, 9, 7, 8, 10]
INV(u') = 5 ((4, 2), (7, 2) and (9, 7) + (3,2), (9,8))
Como você pode ver, não existe uma solução ideal única.
Eu ficaria feliz em qualquer tipo de idéias ou orientação para analisar.