#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;其余点的入度和出度相等