谁能告诉我插入数据最快的数据结构是什么?我的要求是加载人名,然后以超快的速度检索他们。不存在排序、搜索特定名称等问题,甚至不存在记忆问题,因为总人数可能不超过20人。唯一的要求是加载人员并在稍后阶段检索名称。有谁知道吗?
发布于 2013-06-25 11:53:25
除了检查答案中的舌头(这是我的第一个想法),而且你最多有20个人,只需使用一个数组。
发布于 2013-06-25 11:50:27
半开玩笑的回答:如果您只使用执行插入操作,而不执行其他操作,那么最简单的数据结构就是什么都不做--就是不存储任何内容。这使得插入是即时的,因为您完全不需要做任何插入操作。
更现实的答案:如果你只是想尽可能快地存储一堆数据,并且你对总元素的数量有一个上限,那么只需使用一个数组并跟踪下一个空闲的索引。如果数组存储指向元素的指针,则每次插入都是一个指针赋值加上下一个空闲索引的增量。如果您在存储副本,那么每次插入都会生成一个副本(无论如何您都必须这样做)和一个增量。由于任何存储元素的结构都必须存储一个指针或复制到它的指针,所以开销是一个增量,我非常确信这是最便宜的。
希望这能有所帮助!
发布于 2013-06-25 11:54:49
如果您确定对象/节点总数始终小于20,则数组是最好的。检索使用数组中的索引进行,并且是最快的。如果您不确定数据结构的大小,那么我建议使用列表,因为在列表中插入是最快的,前提是您不是在寻找插入的顺序。如果需要插入顺序,则使用链表。Hashtable可能不是一个选项,因为它有额外的同步开销,而这里并不需要。如果您希望避免重复,并且不担心检索顺序,则可以使用Set接口。
https://stackoverflow.com/questions/17288824
复制相似问题