快速插入和搜索

时间:2010-09-21 14:05:37

标签: algorithm data-structures

快速执行以下操作的最佳数据结构是什么

  • 插入
  • 查找

由于 阿维纳什

3 个答案:

答案 0 :(得分:3)

如果相同的数据结构需要执行这两个操作,那么它应该是hash map

答案 1 :(得分:1)

根据我的hash_map

答案 2 :(得分:0)

图形相关性列表的一个很好的实现是使用动态分配的整数向量。

假设您的图表中最多有N个节点。您可以将图形存储在N个动态分配的整数向量的数组中。 它看起来像这样:

矢量[N]

要从节点x向节点y插入边缘,请使用:

矢量[X] .push(y)的

这样,如果图形稀疏(没有很多边),您可以快速找到节点的所有传出边。

如果你想找到x和y之间是否存在边缘,你必须通过vector [x]并搜索它。如果你想加快速度,你可以额外使用2维布尔数组,如果节点数很少(小于1000是合理的)。

如果你有很多节点并希望加快操作速度,你可以使用散列图。