场景:给定 2 个输入字符串,我需要找到将一个字符串转换为另一个字符串所需的最小插入删除和替换次数。字符串是来自 2 个文件的文本。比较必须在单词级别进行。
我所做的是实现了编辑距离算法,该算法使用大小为 (m*n) 的二维数组很好地完成了工作,其中输入字符串的大小为 m 和 n。
我面临的问题是如果 m 和 n 的值变大,比如说超过 16,000,由于 m*n 数组的大小很大,我会遇到 OutOfMemory 异常。我也遇到了内存碎片和 LargeObjectHeap 问题
问题寻找一个 C# 代码来解决 2 个非常大的字符串(每个包含超过 20k 个单词)的编辑距离问题,而不会出现 OutOfMemory 异常。
MapReduce 或DataBase 或MemoryMappedFile 相关的解决方案不可行。只有纯 C# 代码才能工作。