算法分析实践环节习题集-2016年(学生老师关注)讲解.docx

算法分析实践环节习题集-2016年(学生老师关注)讲解.docx

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息工程学院算法分析实践环节习题集--2016年序号项目名称任务描述设计要求指导教师人数搜索图中最小控制顶点集合给定一个无向连通子图G=(V, E),其中V表示图中顶点集合,E表示边的集合。G的最小控制顶点集合为V的一个子集,S;假设集合R表示V排除集合S后剩余顶点集合,即,= V;则最小控制顶点集合S满足约束条件: R中任意一个顶点至少与S的一个顶点直接相连。 例如下图中红色顶点集合MDset表示一个最小控制顶点集合,任意一个绿色的顶点至少与一个红色顶点直接相连。读取文件(网络),设计算法求解最小控制顶点集合。文件中数据格式如下:A BB C C DB D每一行表示图的两个顶点,且两个顶点之间有一条边。算法:Input:图文件Output:最小控制顶点集合刘全中1求解最大的双边聚类的子矩阵给定一个n行m列的矩阵E,单元格中数值1或者0,例如下图12行12列的矩阵中,灰色单元格表示1,白色单元格表示0。矩阵中一个双边聚类子矩阵(G, C), ,,满足以下条件:矩阵(G, C)的每个单元格中值都为1不存在另一个子矩阵(G’, C’),,, 满足下面两个条件:(G’, C’)中的每一个单元格值都为1例如:下图左边的矩阵中其中2个双边聚类矩阵分别为({1,3},{1,3}),({1,8},{2,3,4})算法输入:存放矩阵的文件,例如图所示的文件为:1 1 1 1 1 0 0 0 0 0 0 01 1 0 1 0 0 0 0 0 0 0 01 0 1 0 0 0 0 1 0 0 1 00 0 0 0 1 0 1 0 1 0 1 11 0 0 1 0 0 0 0 0 0 0 00 0 0 0 0 0 1 1 0 1 0 00 0 0 0 0 0 1 0 0 1 1 00 1 1 1 0 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 0 00 1 0 0 0 0 0 0 1 1 0 00 1 0 0 1 0 0 0 0 0 0 01 1 0 1 1 0 0 0 0 0 0 0输出所有的双边聚类矩阵刘全中1图聚类的贪心算法实现一个子图G=(v, E)的内聚性定义如下:,其中表示子图G中边的权重之和,表示子图G与周围顶点连接边的权重之和。注:如果图是无权图,边的权重设置为1.例如:如下图中,假设子图G表示包含A, B, D,E四个顶点, G = ({A, B, D, E}),则, = 5. 则f(G) = 10/(10+5).如果一个子图G满足内聚性最大时,即局部最优时,则这个子图G就是一个聚类。寻找内聚行最大的子图,用贪心算法,分以下三个步骤:(1) 对于G的每一个直接邻居顶点 (外围的直接邻居),例如G={A,B,D,E},则G的直接邻居顶点为C, F, G. 找到具有最大值的顶点,如果,则}.(2) 对于G的每一个内部顶点,找到具有最大值的,其中表示集合G排除顶点后的集合;,则.(3)重复步骤1和2,直到集合G不发生变化,即收敛,算法结束。算法输入:存放图的文件,例如图的文件格式如下:A BB C C DB D每一行表示图的两个顶点,且两个顶点之间有一条边.算法:Input:图文件Output:图中所有的内聚性最大的cluster.最大匹配率算法设计与实现两个图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之间最大匹配率计算方法如下:1. 找出一组边,使得P和R中的每一个顶点最多出现一条边上,而且边的权重累加和最大。2. 最大匹配率为:第1步选择边的权重之和除以R中子图的个数例如: 下图中最大匹配率为:(0.8+0.75)/2Input:两组图Output:输出最大匹配率两个图文件格式如下:A B C D EF G H I每一行表示一个子图图合并算法的设计与实现给定若干个子图,如果两个子图的重复度大于等于0.8,需要合并这两个子图。两个子图A和B重复度计算公式为:, 例如:X={A, B, C, D, E}, Y = {B, C, D,E},则 = (4*4)/(4*5) = 0.8,则子图x和y需要合并。合并算法有两种方法:方法一、从文件逐行扫描每一个子图,如果后面的子图于前面的子图重复度超过0.8,则把这两个子图合并为一个新的子图。方法二、把每一个子图抽象为一个顶点,如果两个子图的重复度超过0.8,则把对应的两个顶点连一条边,这样构造一个新的图。然后从新的图中搜索连通子图,每一个连通子图中所有的顶点进行合并。Input: 子图文件,文件的格式如

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档