欢迎来到天天文库
浏览记录
ID:59598306
大小:173.50 KB
页数:40页
时间:2020-11-14
《欧拉路径和欧拉回路doc资料.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、欧拉路径和欧拉回路怎么样判断是否存在欧拉回路在以下三种情况中有三种不同的算法:1.无向图2.有向图3.混合图注:前两种的判定很简单,第三种稍复杂一些,但是可转化为前两种的情况.(第三种只是简要说明)无向图每个顶点的入度是偶数,则存在欧拉回路.证明很简单:其原理就是每个顶点要进去多少次,就必须出来多少次.如果存在度为奇数的顶点,那么必有通过某一边进入这一点后,没有边可以出去,这样就不会有回路.有向图每个顶点的入度和出度相等.原理同无向图.也是有多少边进入,就要有多少边出去.对于混合图这里就不祥细说明了.混合图混合图的定义
2、:有的边是有向的,有的边是无向的。例如城市里的交通网络,有的路是单行道,有的路是双行道。找到一个给每条无向的边定向的策略,使得每个顶点的入度等于出度,这样就能转换成上面第二种情况。关于欧拉路径源点与汇点不为同一点.判定一个图是否有欧拉路径.一个无向图中除源点与汇点的度数为奇数 外,其于点的度数都为偶数,那么则存在欧拉路径.怎么样求欧拉回路就是循环地找到出发点.一个解决此类问题基本的想法是从某个节点开始,然后查出一个从这个点出发回到这个点的环路径。这种方法保证每个边都被遍历.如果有某个点的边没有
3、被遍历就让这个点为起点,这条边为起始边,把它和当前的环衔接上。这样直至所有的边都被遍历。这样,整个图就被连接到一起了。具体步骤如果此时与该点无相连的点,那么就加入路径中.如果该点有相连的点,那么就列一张表,遍历这些点,直到没有相连的点.处理当前的点,删出走过的这条边,并在其相临的点上进行同样的操作.并把删除的点加入到路径中去.其实这就是一个递归过程.但选择起点时要注意.如果所有点的度数为偶数,那么可以依题意随意选择,都可得到一条欧拉回路.如果有的点度数为奇数,那么先判定是否存在欧拉路径,如果存在,那么起点必须从度数为奇
4、数的点开始.来自USACO上的例子考虑左边的图,每个点的度都为偶数.则存在欧拉路径.来自USACO上的例子Stack:Location:1Circuit:来自USACO上的例子Stack:1Location:4Circuit:来自USACO上的例子Stack:14Location:2Circuit:来自USACO上的例子Stack:142Location:5Circuit:来自USACO上的例子Stack:1425Location:1Circuit:来自USACO上的例子Stack:142Loca
5、tion:5Circuit:1来自USACO上的例子Stack:1425Location:6Circuit:1来自USACO上的例子Stack:14256Location:2Circuit:1来自USACO上的例子Stack:142562Location:7Circuit:1来自USACO上的例子Stack:1425627Location:3Circuit:1来自USACO上的例子Stack:14256273Location:4Circuit:1来自USACO上的例子Stack:142562734
6、Location:6Circuit:1来自USACO上的例子Stack:1425627346Location:7Circuit:1来自USACO上的例子Stack:142562734 67Location:5Circuit:1来自USACO上的例子Stack:1425627346Location:7Circuit:15来自USACO上的例子Stack:142562734Location:6Circuit:157来自USACO上的例子Stack:14256273Location:4Circu
7、it:1576来自USACO上的例子Stack:1425627Location:3Circuit:15764来自USACO上的例子Stack:142562Location:7Circuit:157643来自USACO上的例子Stack:14256Location:2Circuit:1576437来自USACO上的例子Stack:1425Location:6Circuit:15764372来自USACO上的例子Stack:142Location:5Circuit:157643726来自USACO上的例
8、子Stack:14Location:2Circuit:1576437265来自USACO上的例子Stack:1Location:4Circuit:15764372652来自USACO上的例子Stack:Location:1Circuit:157643726524来自USACO上的例子Stack:Location:C
此文档下载收益归作者所有