Мне нужно эффективно редактировать большие текстовые документы (например, файлы исходного кода) в javascript.
insertAtPosition(n, str)
и deleteAtPosition(n, length)
должны быть быстрыми.
Реализация простой строки медленная, поскольку каждая операция требует копирования содержимого документа в новую строку.
Есть несколько эффективных способов сделать это. Я мог бы использовать массив строк ( Ace aka Bespin делает это), но это было бы медленно, когда есть супер длинные или много коротких линий. Лучшая реализация будет использовать пропуск списков или некоторую другую умную структуру данных.
Но я бы ожидал, что кто-то уже реализовал такую вещь.
Есть ли библиотеки, которые уже делают это? Кажется, я не могу найти ничего полезного в Google - есть ли общее название для этой проблемы алгоритма?