
Сообщение от
ZEK
и тут стоит склоняться к варианту где работа в типовых операциях менее накладная и отзывчивая со стороны UI
А тут уже расходятся мнения что считать "типовой операцией"- навигацию или редактирование.
Вот накидал оценки затрат:
M - размер текста
N- средний размер строки
K- размер экрана в строках
Учтены разумные оптимизации (например, известный конец текста).
Код:
\Метод| Plain | Twopart | Fragmented
Операция\ | text | text | text
-------------------------------------------
Home | O(1) | O(M) | O(1)
End | O(N*K) | O(M) | O(1)
LineUp | O(N) | O(N) | O(1)
LineDn | O(N) | O(N) | O(1)
PgUp | O(N*K) | O(N*K) | O(K)
PgDn | O(N*K) | O(N*K) | O(K)
Edit | O(M+N) | O(N) | O(N)
Умножаем веса для каждой из операций на матрицу и получаем трудоемкости для каждого из методов.
Мог чего не учесть, прошу поправлять