- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
弗罗莱(Fleury)算法求欧拉Euler通路回路
弗罗莱(Fleury)算法,求欧拉(Euler)通路/回路
算法及分析 2009-09-20 17:11:54 阅读807 评论0字号:大中小
1、基本概念:
(1)定义
欧拉通路(欧拉迹)—通过图中每条边一次且仅一次,并且过每一顶点的通路。
欧拉回路(欧拉闭迹)—通过图中每条边一次且仅一次,并且过每一顶点的回路。
欧拉图—存在欧拉回路的图。欧拉图就是从一顶出发每条边恰通过一次又能回到出发顶点的那种图,即不重复的行遍所有的边再回到出发点。
通路和回路-称vie1e2…envj为一条从vi到vj且长度为n的通路,其中长度是指通路中边的条数.称起点和终点相同的通路为一条回路。
简单图-不含平行边和自回路的图。
混合图-既有有向边,也有无向边的图
平凡图-仅有一个结点的图
完全图-有n个结点的且每对结点都有边相连的无向简单图,称为无向完全图;有n个结点的且每对结点之间都有两条方向相反的边相连的有向简单图为有向完全图。
(2)欧拉图的特征: 无向图
a)G有欧拉通路的充分必要条件为:G连通,G中只有两个奇度顶点(它们分别是欧拉通路的两个端点)。
b)G有欧拉回路(G为欧拉图):G连通,G中均为偶度顶点。 有向图
a)D有欧拉通路:D连通,除两个顶点外,其余顶点的入度均等于出度,这两个特殊的顶点中,一个顶点的入度比出度大1,另一个顶点的入度比出度小1。
b)D有欧拉回路(D为欧拉图):D连通,D中所有顶点的入度等于出度。一个有向图是欧拉图,当且仅当该图所有顶点度数都是0。2、弗罗莱(Fleury)算法思想-解决欧拉回路 Fleury算法: 任取v0∈V(G),令P0=v0;
设Pi=v0e1v1e2…ei vi已经行遍,按下面方法从中选取ei+1:
(a)ei+1与vi相关联;
(b)除非无别的边可供行遍,否则ei+1不应该为Gi=G-{e1,e2,…, ei}中的桥(所谓桥是一条删除后使连通图不再连通的边);
(c)当(b)不能再进行时,算法停止。
可以证明,当算法停止时所得的简单回路Wm=v0e1v1e2….emvm(vm=v0)为G中的一条欧拉回路,复杂度为O(e*e)。
3、欧拉算法C语言描述
void DFS(Graph G,SqStack S,int x,int t)
{
k=0;//一个标志,来标记当前访问的节点是否还有邻接边可供访问
Push(S,x); //将本次遍历边所经由的点入栈
for(i=t;iv;i++) //v是顶点数,e是边数
if(G[i][x]0)
{
k=1;
G[i][x]=0; G[x][i]=0; //此边已访问,删除此边
DFS(G,S,i,0);//寻找下一条关联的边,本次找到的是与x关联的i,在
//下一层中将寻找与i关联的边
break;
}//if,for
if(k==0) //如果k=0,说明与当前顶点关联的边已穷尽
{
Pop(S);
GetTop(S,m);
G[x][m]=1;G[m][x]=1;//恢复在上一层中被删除的边
a=x+1;//如果可能的话,从当前节点的下一条关联边开始搜寻
if(StackLength(S)!=e)//继续搜寻,边还没有全部遍历完
{
Pop(S); //还原到上一步去
DFS(G,S,m,a);//
}//if
else //搜寻完毕,将最后节点也入栈
Push(S,x);
}//if
}//DFS
void Euler(Graph G,int x)
{
//G是存储图的邻接矩阵,都处理成无向图形式,值为1代表有边,0代表无边,不包括自回路,x是出发点
InitStack(S);//用来存放遍历边时依次走过的顶点
DFS(G,S,x,0);//深度优先遍历查找,0是指查询的起点
//输出
while(!StackEmpty(S))
{
GetTop(S,m);
printf(-v%d,m);
Pop(S);
}//while
}//Euler
如下为算法的图示动态过程:
4、欧拉算法的C实现
#include SqStack.h //堆栈的常见操
您可能关注的文档
- 幸福园住宅小区配建廉租房、公共租赁房工程施工组织设计(修改版).doc
- 广东某高层高支模施工方案(门架支撑大模板计算书)_secret.doc
- 广东省粤赣高速上陵至河源段路面工程第25标段施工组织设计.doc
- 广东省惠来凯旋国际广场营销推广方案(152页).ppt
- 广东硇洲岛旅游度假颐养中心项目可行性研究报告_[全文].doc
- 广东(翁源)华彩化工涂料城(原始南雄).doc
- 广乐T5标总体施工组织设计.doc
- 广乐高速T6合同段土石混填路基试验段施工方案.doc
- 广东珠海横琴岛全套总体概念性景观规划设计文本(泛亚易.doc
- 广园快速路(K0+000K47+100)道路日常保洁项目.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 《第一单元 生活中的音乐学习项目二 音乐开启心灵之窗》教案(表格式)七年级音乐人教版(2024新版).pdf VIP
- 成功标书大餐——15份浙江省自然科学基金申请书.pdf VIP
- (辽宁富士电梯)系统故障代码及说明.doc VIP
- 2025版高考政治全程一轮复习必修2第一单元生产资料所有制与经济体制第一课我国的生产资料所有制课件.pptx VIP
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案.docx VIP
- 伤口换药护理操作.pptx VIP
- 贵州01-贵州省居住建筑节能设计标准DBJ52-49-20082.pptx VIP
- 《2023年度中国展览数据统计报告》.docx
- 城市名居商住楼房地产估价报告.doc VIP
- [说明]富士变频器维修与故障处理.doc VIP
文档评论(0)