Я создаю приложение для составления карт разума, и мне было интересно, какова будет лучшая структура данных для редактора заметок.Заметки могут быть всего лишь несколькими символами, могут быть страницами длинной, и их обновляют, редактируют, перемешивают и так далее.Приложение предназначено для работы на мобильных платформах, поэтому обработка и накладные расходы памяти должны быть минимальными.
Моя основная идея заключается в реализации структуры типа веревочных / связанных списков, которая фрагментирует заметки во время редактирования, чтобы избежать перераспределения накладных расходовотмечает, что контейнер заполнен и чтобы избежать выделения ненужного пространства, например, с динамически растущими векторами.
Однако слишком частое фрагментирование заметок неизбежно приведет к дополнительным затратам, поэтому во второй части моей реализации планируется преобразовать структуру каната, используемую при редактировании заметки, в последовательную структуру данных для хранения и быстрого чтения.
Таким образом, в основном объекты хранятся и читаются из последовательной структуры данных, но при редактировании они копируются в фрагментированную структуру данных, а после завершения редактирования объект преобразуется обратно.
Этоэто хорошая идея?Если нет, то рекомендации приветствуются.В любом случае, кто-нибудь знает о некоторых подобных реализациях с открытым исходным кодом, из которых я могу поучиться?