Вычислить расстояние редактирования между 2 очень большими строками
СЦЕНАРИЙ: Учитывая 2 входные строки, мне нужно найти минимальное количество удалений вставок и замен, необходимых для преобразования одной строки в другую. Строки представляют собой текст из 2 файлов. Сравнение должно быть сделано на уровне слов.
Что я сделал, так это реализовал алгоритм редактирования расстояния, который хорошо справляется с работой, используя двумерный массив размера (m*n), где размеры входных строк равны m и n.
ПРОБЛЕМА, с которой я сталкиваюсь, заключается в том, что если значения m и n становятся большими, скажем, более 16 000 я получаю исключение OutOfMemory из-за большого размера массива m*n. Также я сталкиваюсь с фрагментацией памяти и проблемами LargeObjectHeap
ВОПРОС Поиск кода C# для решения проблемы расстояния редактирования для 2 строк очень большого размера (каждая из которых содержит более 20 тыс. Слов) без получения исключения OutOfMemory.
Решения, связанные с MapReduce, DataBase или MemoryMappedFile, невозможны. Будет работать только чистый код C#.