マインド マッピング アプリケーションを作成していますが、「メモ」エディターに最適なデータ構造は何かを考えていました。メモはほんの数個の記号である場合もあれば、ページの長さである場合もあり、更新、編集、シャッフルなどを行っています。アプリはモバイル プラットフォームで実行することを目的としているため、処理とメモリのオーバーヘッドは最小限に抑える必要があります。
私の基本的なアイデアは、編集中にメモを断片化するロープ/リンクリストタイプの構造を実装して、コンテナーがいっぱいになった場合にメモを再割り当てすることによるオーバーヘッドを回避し、動的に成長するベクトルなどで不要なスペースを割り当てないようにすることです。
ただし、メモを断片化しすぎると、必然的にそれ自体でオーバーヘッドが発生します。そのため、実装の 2 番目の部分では、メモの編集中に使用されるロープ構造を、保存と高速読み取りのために順次データ構造に変換することを計画しています。
したがって、基本的にオブジェクトは順次データ構造に格納されて読み取られますが、編集されると断片化されたデータ構造にコピーされ、編集が完了するとオブジェクトは元に戻されます。
これは良いアイデアですか?そうでない場合は、推奨事項を歓迎します。いずれにせよ、私が学ぶことができるいくつかの同様のオープンソース実装を知っている人はいますか?