计算2个非常大的字符串之间的距离

时间:2016-03-11 13:06:15

标签: c# arrays string edit-distance lcs

情景:给定2个输入字符串,我需要找到将一个字符串转换为其他字符串所需的最小插入删除和替换次数。字符串是来自2个文件的文本。比较必须在单词级别进行。

我所做的是实现了编辑距离算法,该算法使用大小为(m * n)的二维数组来完成工作,其中输入字符串的大小为m和n。

问题我面临的问题是,如果m和n的值变大,比如超过16,000,由于m * n数组的大小,我得到了OutOfMemory异常。我也遇到内存碎片和LargeObjectHeap问题

问题寻找一个C#代码来解决2个非常大的字符串(每个字符串包含超过20k字)的编辑距离问题,而不会出现OutOfMemory异常。

MapReduce或DataBase或MemoryMappedFile相关的解决方案不可行。只有纯C#代码才有效。

0 个答案:

没有答案
相关问题