#jx1301. dfs遍历和欧拉路径相关客观题
dfs遍历和欧拉路径相关客观题
一、程序代码填空
dfs遍历无向图
无向图有n个结点m条边,编号1~n。从结点1出发,深度优先遍历图,每次优先访问编号小的结点。请输出访问的结点序列,空格分隔。 【输入】 结点数n和边数m,假设n≤6,图最多有6个结点 【输出】按照遍历的顺序输出结点编号,空格分隔 【输入样例】 6 6 1 2 3 1 1 5 2 5 5 4 2 6 【输出样例】 1 2 5 4 6 3
#include<bits/stdc++.h>
using namespace std;
int n,m;// 结点数n和边数m
int g[7][7];//邻接矩阵
int vis[7];//标记数组
void dfs(int x){//x当前结点
cout<<__①__<<" ";//每次递进就表示访问到新的结点,则输出
for(int i=1;__②__;i++){ //优先小编号
if(g[x][i]==1&&__③__){
vis[i]=1;//标记
__④__;//递进
}
}
}
int main(){
cin>>n>>m;
int x,y;
for(int i=1;i<=m;i++){
cin>>x>>y;
g[x][y]=1;
g[y][x]=1;
}
vis[1]=1;//标记起点
__⑤__;
return 0;
}
填写说明:以下填写内容中不要加空格
第 1 题 ①处应该填写{{ input(1) }}
第 2 题 ②处应该填写{{ input(2) }}
第 3 题 ③处应该填写{{ input(3) }}
第 4 题 ④处应该填写{{ input(4) }}
第 5 题 ⑤处应该填写{{ input(5) }}
二、选择题
第 1 题 考虑由N个结点构成的有向连通图,采用邻接矩阵的数据结构表示时,该矩阵中至少存在( )个非零元素
{{ select(6) }}
- N-1
- N
- N*2
- (N-1)*2
第 2 题 考虑由N个结点构成的无向连通图,采用邻接矩阵的数据结构表示时,该矩阵中至少存在( )个非零元素
{{ select(7) }}
- N-1
- N
- N*2
- (N-1)*2
第 3 题 在一个连通图中,存在一个路径包括每个边恰好一次,该路径称为( )。
{{ select(8) }}
- 欧拉回路
- 最短路径
- 欧拉路径
- 半欧拉路径
第 4 题 无向图欧拉回路的存在条件:( )
{{ select(9) }}
- 图必须是连通图,且奇点必须存在
- 图必须是连通图,且奇点必须有0个
- 图必须是连通图,且奇点必须有2个
- 图必须是连通图,且奇点必须有0个或2个
第 5 题 有向图欧拉路径的存在条件:( )
{{ select(10) }}
- 图必须是连通图,且奇点必须有0个
- 图必须是连通图,且奇点必须有0个或2个
- 图必须是连通图,且奇点必须有0个,且所有点的入度和出度必须相等
- 图必须是连通图,且奇点必须有0个或2个,0个奇点时:所有点的入度和出度必须相等,2个奇点时:一个奇点出度比入度大1,另一个奇点入度比出度大1;其余点的入度和出度相等