无向图中三角形个数

该文介绍了一种求解无向图中三角形个数的算法,通过按顶点度数排序,计算每个顶点的A[v]集合,遍历每条边并求交集来实现。算法在数据集cit-Patents上运行,得到7515023个三角形,并在6272ms内完成。
摘要由CSDN通过智能技术生成
给定一个无向图,求出此图中包含三角形的个数。
    图中三角形指的是:在图中任意选择三个顶点,且这三个顶点之间任意两个点都有一条来自原图中的边。求出图中三角形个数有许多应用(1)在qq中两个好友之间的共同好友个数(2)好友推荐应用。(3)图的聚集系数。(4)小世界网络。
本文中所给出的算法思想:
    1.对图中的所有顶点按照度数由小到大进行排序。
    2.计算图中每个顶点的A[v]集合。A[v]满足(1)集合中的元素是v的邻接点(2)排名在顶点v之后。此步骤可以保证每个三角形只被计算一次。
    3.对图中每条边(u,v)进行遍历,每访问一条边(u,v),求出A[v]和A[u]的交集。累计每条边的交集个数。最后交集的个数即图中三角形的个数。
如下图所示:
    (1)顶点按照度数由小到大进行排序{2,0,4,3,1}。
    (2)求出每个顶点的A[v]集合。A[0]={1,3}、A[1]={}、A[2]={1}、A[3]={1}以及A[4]={1,3}。
    (3)求出每条边(u,v)中A[u]和A[v]的交集中元素的个数:(A[0],A[3])=1和(A[4],A[3])=1。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值