Assumi due elenchi di elementi comparabili: u e s. Sia INV (u) il numero di inversioni in u.
Sto cercando un algoritmo efficiente per inserire gli elementi di s in te con un aumento minimo di INV (u).
Fondamentalmente vorrei inserire oggetti in un elenco mantenendolo "il più ordinato possibile" mantenendo l'ordine del primo elenco.
Esempio:
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))
Come puoi vedere, non esiste una soluzione ottimale unica.
Sarei felice per qualsiasi tipo di idea o direzione da esaminare.