假定两个可比较项的列表:u和s。令INV(u)为u中的求逆数。
我正在寻找一种有效的算法,以在不增加INV(u)的情况下将s的项插入u中。
基本上,我想将对象插入列表,同时保持“尽可能排序”,同时保持第一个列表的顺序。
例:
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))
如您所见,没有独特的最佳解决方案。
对于任何想法或方向,我都会感到高兴。