如何实现一个高效的类似excel的应用程序

时间:2012-06-18 17:37:11

标签: data-structures

我需要实现一个高效的类似excel的应用程序。 我正在寻找一种能够:

的数据结构
  • 以有效的方式存储数据(例如 - 我不想要 为未使用的单元预先分配内存)。
  • 当用户更改其中一个单元格中的公式时,允许有效更新

有什么想法吗?

谢谢, 李

1 个答案:

答案 0 :(得分:1)

在这种情况下,您正在寻找在线dictionary structure。这是一类结构,允许您将一小部分数据(在本例中为表示单元格的坐标)与另一部分(在本例中为单元格内容或公式)相关联。 “在线”形容词意味着可以实时添加,删除或更改字典条目。

有很多这样的结构。命名一些更常见的:哈希表,二叉树,跳过列表,链表,甚至是数组中的列表。

当然,其中一些比其他更有效(取决于实现和条目数)。通常我会使用哈希表来解决这类问题。

但是,如果您需要进行范围查询“修改此范围内的所有单元格”,您可能最好使用二叉树或更复杂的空间结构 - 但不太可能给出问题的简单要求