Java实现两个图的匹配率计算

本文介绍如何使用Java计算两个图A和B之间的匹配率,通过构建新图并求解最大匹配来得出匹配率。具体步骤包括:构建边权值表示匹配率的新图,并寻找满足条件的最大权重边集合。例如,给定子图R和P,最大匹配率为相关边权重之和除以子图数量。
摘要由CSDN通过智能技术生成

用java实现以下功能。

两个图A和B之间的匹配率计算公式:

,其中|A|表示图A中顶点个数,表示图A和图B共同顶点

组成的子图。例如下图中R1和P1的匹配率为:(4*4)/(4*5)= 0.8.

 

给定两组子图R, P, 例如,如下图R = {R1, R2},P={P1,P2, P3}, 以R和P

中的每一个图做为一个顶点,构造一个新的图,图中的边上的权值表示两

个图之间的匹配率。R和P之间最大匹配率计算方法如下:

1.在新构造的图中找出一组边,使得P和R中的每一个顶点最多出现一条

边上,而且边的权重累加和最大。

2.最大匹配率为:第1步选择边的权重之和除以R中子图的个数

例如: 下图中最大匹配率为:(0.8+0.75)/2

 

**********************************************************************************************

Subgraph类,代码如下:

package MatchRate;

import java.util.ArrayList;
import java.util.List;

public class SubGr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值