java无向图_无向图上顶点和边的变化

我使用visual studio c,提升 .

可以说我有无向图 . 每隔t秒,我需要检查它是否发生了变化(顶点\边缘被移除\添加) .

时间复杂性非常重要 .

这是构建图形的示例:

typedef adjacency_matrix UGraph;

UGraph G(9);

add_edge(1, 2, G);

add_edge(2, 5, G);

add_edge(5, 1, G);

add_edge(3, 6, G);

add_edge(3, 4, G);

add_edge(7, 8, G);

因为我使用 adjacency_matrix , add_edge() , remove_edge() , add_vertex() 和 remove_vertex() 的时间复杂度为O(1) .

我想通过返回值使用 add_edge() 来检查该边是否已经存在:

retVal = add_edge(1, 2, G);

if(already exist)

//do something

else

//do something else

retVal = add_vertex(1,G);

if(already exist)

//do something

else

//do something else

但是根据我的理解,如果我将边缘添加到现有边缘(在无向图中),它将并行添加到现有边缘 .

那么,有没有一种方法(我的方式或其他方式),检查两个无向图之间的变化(顶点和边缘)?

谢谢 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值