付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验内容:判断图 G 是否存在欧拉回路,若存在,输出其中一条欧拉回路。否则,显示无回路。 实验过程与结果1.问题简介: 通过图 (无向图或有向图)中所有边一次且仅一次行遍所有顶点的回路称为欧拉回路。 具有欧拉回路的图称为欧拉图2.算法思想(框图) :(1) 任取 v0 V(G),令 PO=vO.(2) 设Pi=v0e1v1e2eivi已经行遍,按下面方法来从E(G)-e1,e2,ei中选取ei+1 : ( a) ei+1 与 vi 相关联;ei+1不应该为Gi=G-e1,e2,ei中的桥。(b )除非无别的边可供行遍,否则3)当( 2)不能再进行时,算法停止。可以证明,当算法停止时所得简单回路
2、Pm=v0e1v1e2 emvm(vm=vO)为 G 中一条欧拉回路。3.数据输入:边数 5,点数 6相关联的点4.运行结果:1 ,3,2,4, 5, 2,存在欧拉回路分析总结:Fleury 算法是求欧拉图的十分有效的算法,在执行过程中需要用到类似于图的深度优先遍历,因 为该算法就是需要将已找到的路径不断的扩展下去,直到将所有边扩展进路径。5.Fleury算法流程图完整源程序#include viostream.h#include vstdio.h#include vstring.hif(sn)A.top-; t=A.nodeA.to p;struct stackint top , node8
3、1; T,F,A; /顶点的堆栈 int M8181; /图的邻接矩阵 int n;int degree81;bool brigde(int i,int j) int flag81,t,s; for(s=1 ;s v=n; s+) flags=0;if(degreei=1) return false;elseMij=0;Mji=0; A.to p=1;A.node1=i; flagi=1; t=i; while(A.to p0) for(s=1;sv=n;s+)if(degrees0)if(Mts=1)if(flags=0)A.t op+; A.nodeA.to p=s; flags=1;t=
4、s; break; for(s=1;sv=n;s+) if(degrees0) if(flags=0) Mij=Mij=1; return true; break;if(sn)return false; void Fleury(int x) /Fleury 算法 int i,b=0;if(T.t op v=n+1)T.t op+;T.nodeT.top=x; for(i=1;iv=n;i+) if(Mx i=1) if(brigde(x,i)=false) b=1; break;if(b=1)M凶i=Mi x=0; degreex-; degreei-;Fleury(i);void main(
5、)int m , s , t , num , i , j,flag81; /inputcoutvvnt输入顶点数和边数 :; cinnm; /n顶点数 m边数 memset(M , 0 , sizeof(M);for (i = 1; i v=n; i +)degreei=0;for (i = 0; i v m; i +)coutvvntt 输入第vvi+1vv边的顶点:; cinst;Mst = 1; Mts = 1; degrees=degrees+1; degreet=degreet+1;/判断是否存在欧拉回路for(i=1;iv=n;i+) flagi=0;s = 0;F.to p=1;
6、F.node1=1; flag1=1; t=1;for(j=2;jv=n;j+) if(Mtj=1) F.to P+;F.nodeF.t op=j; flagj=1; t=j; break;判断是否连通if(jn)s=1;elsewhile(F.t op v=n&F.to p=1) for(j=2;jv=n;j+)if(Mtj=1)if(flagj=0) if(jn)F.to P+;F.nodeF.t op=j; flagj=1;t=j; break;F.t op-; t=F.nodeF.to p; for(i=1;iv=n;i+) if(flagi=0) s=1; break;if(s=0)for (i = 1; i v= n; i +) num = 0;for (j = 1; j v= n; j +) num += Mij;if (num % 2 = 1)判断有无奇度点s +; break;if (s =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业沟通协作线上工具包
- 职业行为诚信个人承诺书(7篇)
- 城市交通信号灯控制系统操作指南
- 产品包装标准化审核单各行业适用模板
- 严控资金安全与使用效率承诺书9篇范文
- 2026届天津市部分区(蓟州区)重点达标名校中考模拟考试语文试题试卷含解析
- 2026年安徽界首地区初三英语试题中考模拟试题含解析
- 2026年江苏省南京市溧水县重点名校初三下学期摸底调研模拟考英语试题含解析
- 2026年河北省唐山市名校初三第一次适应性考试(一模)语文试题含解析
- 客户服务团队服务质量提升工具集
- 高中数学竞赛与常规教学融合的实践路径优化与突破教学研究课题报告
- 2026年河南机电职业学院单招职业适应性测试必刷测试卷汇编
- 药品供应链与药品追溯系统
- 2025至2030模具加工行业运营态势与投资前景调查研究报告
- 2026年宝鸡职业技术学院单招职业技能测试题库及答案解析(夺冠系列)
- 尿路感染抗菌药物合理使用指导
- 国门生物安全小学课件
- 2025年烧结钐钴永磁材料项目建议书
- 慢性阻塞性肺疾病的护理指南
- 反间谍法宣传讲座课件
- 《周亚夫军细柳》教学课件
评论
0/150
提交评论