最佳数据结构,以适应图中的常量删除

时间:2016-08-15 17:17:45

标签: c++ data-structures graph

我在c ++中构建一个图形作为整数向量的向量

vector<vector<int> > graph;

我的问题是:

  • 图表是双向的,这意味着

    if G[u] contains v, G[v] contains u
    
  • 我需要能够

    remove any element v from G[u]
    remove u from G[v]
    

    在不变的时间。

这次删除是一项我将要重复的操作,因此单个地图无法正常工作,因为当我删除一个元素时,其他元素会返回一个索引。

我想删除边(例如G [u]的最后一个索引,所以我可以使用pop_back并得到O(1)),然后删除另一个顶点中的相应边缘&# 39; adjacence vector(,因为这不是我编写的算法的主要问题,它算法必须在线性时间内运行,我认为必须有一种方法使这个操作保持不变

0 个答案:

没有答案