如何有效地渲染和处理GapBuffer中的内容?

时间:2017-03-11 16:36:15

标签: algorithm time-complexity

我最近了解了GapBuffer,并尝试将其作为编辑器的后端实现。但是,在完成GapBuffer的基本功能之后,我无法弄清楚如何有效地渲染GapBuffer。

如果我通过迭代不在间隙中的每个字符来渲染GapBuffer,那么它将是 O(n)操作( n 是字符数)。但是GapBuffer的目的是降低在光标附近插入和删除字符的分摊复杂度,几乎是 O(1)。如果每次插入/删除都会触发渲染,那么无论如何它都将是 O(n)

如果有掉色或着色,那么至少还需要 O(n)

有没有什么技巧可以更快地完成GapBuffer的渲染?或 O(n)在完整编辑器中插入/删除的最佳性能?

我正在使用C#,并尝试将GapBuffer渲染到GUI前端。但是如果在终端字体端有一些技巧可以做到这一点,那么这也很好。

0 个答案:

没有答案