将一个对象列表转换为另一个列表

时间:2012-08-17 17:01:46

标签: c# algorithm list sorting edit-distance

这是一个理论问题,所以我将使用伪代码。

我有一个对象列表,我需要将其转换为另一个列表。

我实现了Levenshtein算法,并且工作正常,但我需要保留对象,而不是创建新对象。我可以强制它,但我宁愿找到一个非O(n * m)的方法来做到这一点。

[obj1,obj2,obj3] - > [OBJ1,OBJ4,obj5,OBJ2,obj6,OBJ3]

obj1,obj2,obj3必须是同一个对象,其余的是新创建的对象。

有人知道这个算法很好吗?

1 个答案:

答案 0 :(得分:1)

您可以使用模式flyweight来执行此操作,您需要在缓存中维护已创建的对象。 java中的字符串就是这种模式的一个很好的例子。