通常“可展开”网格表示为列表列表(行列表,每行有单元格列表),这些列表是某种链接列表。在这个数据结构中操作(移除,插入)行非常简单且便宜,它只是重新链接前一个节点的问题,但是当涉及到列时,例如删除一列,它变成了一个很长的操作,我需要'循环'所有行来删除索引单元格。显然这不是好行为,至少对我来说是这样。网格数据结构
我不是在这里说数据库;我发现的一个很好的例子是将一些文本文件转换为文本编辑器(据我所知)文本编辑器主要将行分割成行,并且很容易删除行。我想要删除一列与删除某一行一样廉价和高效。
最后,我需要的是一些多维网格,但我认为任何2D网格都适用于MD,对吗?
所以你想O(1)删除行和列? – 2010-08-23 23:13:15
是的,这就是我所问的。 – KA1 2010-08-24 02:10:55
谢谢大家,我在下面的答案中找到了非常有用的想法。 ,并不能真正推荐其中之一。所有这些都是很好的答案,需要阅读这些问题。 – KA1 2010-08-26 20:06:54