



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图的同构和Girth问题Requirement图同构问题Unsolvedproblemincomputerscience:Canthegraphisomorphismproblembesolvedinpolynomialtime?我才疏学浅,不讨论那些高深的话题,我只讲一讲最基础的实现方式,用backtracking,然后检查是否符合要求。基本思想是检查两个图中的每个点是否相对应。也就是说,图p中的A点和B点间有一条边,那么图g中也得有这么两个点,M和N间有一条边;如果图p中A和B间没有边,那么图g中相对应的那两个点,也不可以有边。用backtracking遍历每种情况,然后checkEdge
2、s()。下面是伪代码boolDFS(intn,intlevel,intgraphl,intgraph2,intused,intperm)boolresult=false;if(level=-1)result=checkEdges(n,graph1,graph2);elseindexi=0;while(i0&same=true)if(graph1xy!=graph2permxpermy)same=false;y+;returnsame;这个算法的时间复杂度是0(N2*N!),N是顶点的数量。GirthofGraph不知道怎么翻译,就用Girth吧。反正就是在一个图中存在的最小圆环。我们老师pdf
3、上的定义是:TheshortestcycleinagraphGiscalledthegirthofG.如果我们把图用树的结构样式画出来,那么其实就很容易看出来怎么求那个小圆环了。比如下面这个小图:我们可以画一棵相应的小树:其实这里我们就能看出来,2这个点是4和6的共同的孩子节点。那么我们只要bfs遍历这棵树,找到这个共同的节点就好了。用一个iabel去标识走过的点,2会走两遍,第二次经过它的时候就知道它这里有个环了。因为我用的swift做project的,所以我用的是array来做的。我刷leetcode用的是java。C+太麻烦了,还是不用了。因为我们老师还要我们plot出不用节点数的图的时
4、间的performanceSwift还有个好处就是我可以用iOS作图,比较方便。而且swift的array可以当linkedlist用。但是我们还是可以做一个node来存储没个点的深度信息depth。classNodepublicintvertex,depth;publicNode(intvertex,intdepth)this.vertex=vertex;this.depth=depth;其实用什么语言都无所谓,如果你用java,你可以用ArrayDeque(),或者LinkedList(),C+的话可以用std:queue,都差不多。下面是bfs遍历的主要过程:while(node!=nu
5、ll&short3&(node.depth+1)*2-1short)intdepth=node.depth+1;for(intneighborinnode.vertexsallneighbor)/ifwehaventwentthroughthisneighborif(labelneighbor0)queue.add(newNode(neighbor,depth);labelneighbor=depth;elseif(labelneighbor=depth-1)/oddneighborsif(depth*2-1short)short=depth*2-1;elseif(labelneighbor=
6、depth)/evenneighborsif(depth*2short)short=depth*2;/goanothernodenode=queuesfirstelement,andremovethefirstelement;/startanewbfsfromanothervertexremoveallelementsfromqueue;root+;遂藝娄浚趣殘技浚趣邈遐趣藝娄浚邂憑娄浚趣邈遐娄$護技浚翅發技浚趣邈遐娄建護黴第藝後裁趣浚技裁銀翅護装裁趣浚技裁斑殊妄裁翅護甕娈趣圾後裁趣燧妄裁翅護甕娈翅藝後裁趣務第我们都知道bfs的时间复杂度是O(m+n),其中m和n分别是点和边的数量。因为这个算法需要尝试每个点作为root,从每个点都出发做一次bfs寻找最小圈,所以外层还有个循环,while(root3)-所以时间复杂度是O(n*(m+n)。References:Wikipedia-Girth(graphtheory)Wikipedia-Graphisomorphismproblemcs.umu.seOptimalalgorithmforfindingthegirthofasparsegraph?-Theoreti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东临清2025年初三毕业班第一次模拟考试化学试题含解析
- 三亚市2025届四下数学期末经典模拟试题含解析
- 山东省东平县2024-2025学年中考适应性测试(二)语文试题含解析
- 上海立信会计金融学院《数字视频基础》2023-2024学年第一学期期末试卷
- 模电 第25讲 非正弦波发生电路学习资料
- 模电 10-直流电源学习资料
- 上海济光职业技术学院《团体心理辅导与训练》2023-2024学年第一学期期末试卷
- 武汉商学院《微生物学与免疫学基础》2023-2024学年第二学期期末试卷
- 工程制图基础 04第三章学习资料
- 山东省临沂沂水县联考2024-2025学年初三复习诊断(二)生物试题含解析
- 计算流体力学CFD
- 三大战役完整版本
- 安全态势感知与响应
- 国际象棋基础入门教程单选题100道及答案解析
- DBJ33T 1320-2024 建设工程质量检测技术管理标准
- 工程施工服务方案范文
- 《复发性流产诊治专家共识2022》解读
- 重大疾病证明书样本
- 辽宁省协作校2024-2025学年高二化学下学期期中试题
- 2024-2030年中国太空舱酒店行业市场发展分析及前景趋势与投资研究报告
- 埋地塑料排水管道施工
评论
0/150
提交评论