我有一个场景,我必须将一些带有字段值的记录设置为常量,然后依次逐个访问它们。记录可以是随机记录。我不想使用链接列表,因为它会很昂贵并且不想遍历整个缓冲区。请给我一些想法。
问问题
52 次
1 回答
0
当您说“将带有字段值的少数记录设置为常数”时,这就像记录的键吗?然后“稍后一个一个地访问它们”——这是用一些键来调用它们吗?“一个接一个的顺序”和“不想遍历整个缓冲区”似乎是冲突的,因为顺序访问听起来很像遍历。
但我离题了。如果您实际上确实有一个键(并且它是一个数字),您可以使用某种哈希表来组织您的记录。一个基本的实现可能是一个链表数组,您将键向下修改到数组的范围内,然后将其添加到那里的列表中。假设您具有良好的键分布(您的记录很好地分布在整个数组中),这可能会提高性能。
另一个要研究的数据结构可能是 B 树或二叉搜索树,它们可以在对数时间内访问节点。
但是,总的来说,我同意评论者的观点,即过度优化通常不是一个好主意。
于 2013-03-13T07:22:43.270 回答