欧拉图
2016-04-26 21:14
423 查看
欧拉图的判定
欧拉通路和欧拉回路——必须是存在欧拉回路的图才能称为欧拉图,仅仅是存在欧拉通路不称为欧拉图
无向图的欧拉通路
1.图连通
可以用dfs去判断图连通或者用高效一点的并查集。用dfs的话其实就是遍历一遍图,并记录图有多少个连通分量,一般来说,在主函数中调用了多少次dfs就是有多少个连通分量。当连通分量数为1时说明图连通,大于1则不连通。用并查集的话,判断p[i]=i是否成立,在一个连通分量重只会有一个p[i]=i,若整个图出现多于一次p[i]=i,那么说明该图不止一个连通分量,即不连通
2.度数为奇数的点称为奇点,在无向图欧拉通路中有且仅有两个奇点,这两个奇点必定一个是起点,一个是终点(显然可以交换)。而且其余的点的度数都是偶数
无向图的欧拉回路(即欧拉图)
1.图连通(判定方法一样)
2.所有点的度数都为偶数(从任意一个点出发都能回到自己)
有向图的欧拉通路
1.基图连通
即有向图忽略方向当做无向图一样去判定连通性,判定方法一样
2.必须有一个点的出度比入度大1,这个点作为起点;有一个点的入度比出度大1,这个点作为终点;其余所有点的入度和出度相等
有向图的欧拉回路(即欧拉图)
1.基图连通
2.所有的点的入度和出度相等,从任意一个点出发都可以回到自己
关于输出路径
处处路径一般用递归深搜的方法,但是注意是逆序输出,即在递归函数返回后再输出
欧拉通路和欧拉回路——必须是存在欧拉回路的图才能称为欧拉图,仅仅是存在欧拉通路不称为欧拉图
无向图的欧拉通路
1.图连通
可以用dfs去判断图连通或者用高效一点的并查集。用dfs的话其实就是遍历一遍图,并记录图有多少个连通分量,一般来说,在主函数中调用了多少次dfs就是有多少个连通分量。当连通分量数为1时说明图连通,大于1则不连通。用并查集的话,判断p[i]=i是否成立,在一个连通分量重只会有一个p[i]=i,若整个图出现多于一次p[i]=i,那么说明该图不止一个连通分量,即不连通
2.度数为奇数的点称为奇点,在无向图欧拉通路中有且仅有两个奇点,这两个奇点必定一个是起点,一个是终点(显然可以交换)。而且其余的点的度数都是偶数
无向图的欧拉回路(即欧拉图)
1.图连通(判定方法一样)
2.所有点的度数都为偶数(从任意一个点出发都能回到自己)
有向图的欧拉通路
1.基图连通
即有向图忽略方向当做无向图一样去判定连通性,判定方法一样
2.必须有一个点的出度比入度大1,这个点作为起点;有一个点的入度比出度大1,这个点作为终点;其余所有点的入度和出度相等
有向图的欧拉回路(即欧拉图)
1.基图连通
2.所有的点的入度和出度相等,从任意一个点出发都可以回到自己
关于输出路径
处处路径一般用递归深搜的方法,但是注意是逆序输出,即在递归函数返回后再输出
相关文章推荐
- 欧拉图
- uva 11081 String 尺取法
- xml文件解析
- 《JavaScript模式》读书笔记
- bzoj 3218: a + b Problem|最小割|主席树
- 【neutron】mitaka版本openstack网络之linux bridge
- 一、Spring-boot设置restful
- JavaEE中response.setContentType方法的使用
- 编译原理----基础概念
- c++作业4
- LeetCode 61. Rotate List
- 白话(whitening)
- nyoj 993 How many integers can you find <水>
- 让Android Studio的智能感知不区分大小写
- crontab转载,未实现
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 1 Edition) C. Little Artem and Random Variable 数学
- C# 默认以管理员权限运行程序
- 归并排序
- 欢迎使用CSDN-markdown编辑器
- Uva 156 Ananagrams