Supposons deux listes d'éléments comparables: u et s. Soit INV (u) le nombre d'inversions dans u.
Je recherche un algorithme efficace pour insérer les éléments de s dans u avec une augmentation minimale de INV (u).
Fondamentalement, je voudrais insérer des objets dans une liste tout en la gardant "aussi triée que possible" tout en gardant l'ordre de la première liste.
Exemple:
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))
Comme vous pouvez le voir, il n'y a pas de solution optimale unique.
Je serais heureux de toute idée ou direction à examiner.