早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求算法:欧拉路Description定义:图G的欧拉回路是包含图G所有边的一个简单回路,而欧拉路径则是包含所有边的一个简单路径.现在,告诉你一个无向图G,请你写段程序来判断该图G是否存在欧拉回

题目详情
求算法:欧拉路
Description
定义:图G的欧拉回路是包含图G所有边的一个简单回路,而欧拉路径则是包含所有边的一个简单路径.
现在,告诉你一个无向图G,请你写段程序来判断该图G是否存在欧拉回路或者欧拉路径.
Input
第一行为两个整数N(0< N < 50)、M(0 < M < 1000),表示图G的结点数和边数.
接着M行,每行两个整数a,b.表示结点a和结点b之间有边.
图G的结点编号为0到N-1.
Output
输出仅有一行.如果图G存在欧拉回路,你需要输出“Circuit”;如果没有欧拉回路,但是存在欧拉路径,你需要输出“Path”;否则你需要输出“None”.
Sample Input
5 6
0 1
0 2
1 2
2 3
2 4
3 4
Sample Output
Circuit
Source
▼优质解答
答案和解析
欧拉回路 【定义】
图G的一个回路,若它恰通过G中每条边一次,则称该回路为欧拉(Euler)回路.
具有欧拉回路的图称为欧拉图(简称E图).
【相关结论】
定理:
一个无向图是欧拉图,当且仅当该图所有顶点度数都是偶数.
一个有向图是欧拉图,当且仅当该图所有顶点度数都是0.
求欧拉回路的一种解法
下面是无向图的欧拉回路输出代码:注意输出的前提是已经判断图确实是欧拉回路.
int num = 0;//标记输出队列
int match[MAX];//标志节点的度,无向图,不区分入度和出度
void solve(int x)
l{
l if(match[x] == 0)
l
l Record[num++] = x;
l
l else
l {
l for(int k =0;k
看了 求算法:欧拉路Descrip...的网友还看了以下:

如图,每一幅图中均含有若干个正方形,第①个图形中含有1个正方形,第②个图形含有5个正方形,…,按此  2020-06-26 …

如图是辣椒果实的发育示意图,下列说法中错误的是()A.在完成传粉和受精后,图中的1、3、5会凋落B  2020-06-27 …

如图表示某植物在密闭的玻璃钟罩内一昼夜之内CO2浓度的变化情况.请分析回答问题:(1)图中的D点表  2020-07-07 …

下图是一个能量金字塔示意图,此图的含义是[]A.鹰必须吃10g蛇才能增加体重1gB.10g蛇必须间  2020-07-13 …

如图表示干细胞的发育途径,不正确的是()A.a细胞和b细胞的基因组成可能不同B.图中含有原癌基因的  2020-07-29 …

下列名句与图蕴含的哲理相似的是()A.沉舟侧畔千帆过,病树前头万木春B.虚心使人进步,骄傲使人落后C  2020-11-23 …

请结合图回答,关于鸟卵结构与功能的说法,不科学的是()A.1为卵壳,起保护作用B.2为胚盘含细胞核,  2020-12-17 …

在资源管理器窗口的左窗格中,文件夹图标含有+时,表示该文件夹。A、含有子文件夹,并已展开B、含有子文  2020-12-26 …

方形图含圆形和圆形图中含方形的含义就是一个正方形中含一个圆形和一个圆形图中含一个正方形的含义就是从这  2021-01-14 …

有A、B、C、D四种元素,A元素原子核内只有一个质子,B是空气中含量最多的元素,C元素的原子结构示意  2021-02-01 …