快速执行以下操作的最佳数据结构是什么
由于 阿维纳什
答案 0 :(得分:3)
如果相同的数据结构需要执行这两个操作,那么它应该是hash map。
答案 1 :(得分:1)
根据我的hash_map
答案 2 :(得分:0)
图形相关性列表的一个很好的实现是使用动态分配的整数向量。
假设您的图表中最多有N个节点。您可以将图形存储在N个动态分配的整数向量的数组中。 它看起来像这样:
矢量[N]
要从节点x向节点y插入边缘,请使用:
矢量[X] .push(y)的
这样,如果图形稀疏(没有很多边),您可以快速找到节点的所有传出边。
如果你想找到x和y之间是否存在边缘,你必须通过vector [x]并搜索它。如果你想加快速度,你可以额外使用2维布尔数组,如果节点数很少(小于1000是合理的)。
如果你有很多节点并希望加快操作速度,你可以使用散列图。