我正在创建一个思维导图应用程序,我想知道“笔记”编辑器的最佳数据结构是什么。笔记可能只是几个符号,可能是页面长,并且正在更新、编辑、随机播放等等。该应用程序旨在在移动平台上运行,因此处理和内存开销应该是最小的。
我的基本想法是实现一个绳索/链表类型结构,在编辑过程中对笔记进行分段,以避免在容器已满时重新分配笔记的开销,并避免分配不必要的空间,例如动态增长的向量。
然而,过多的分片笔记本身不可避免地会带来开销,因此我的第二部分实现计划将在笔记编辑期间使用的绳索结构转换为顺序数据结构,以便存储和快速阅读。
所以基本上对象是从顺序数据结构中存储和读取的,但是在编辑时它们会被复制到碎片数据结构中,当编辑完成时,对象会被转换回来。
这是个好主意吗?如果没有,那么欢迎提出建议。无论哪种方式,有人知道我可以从中学习一些类似的开源实现吗?