请求各位高手帮忙 实现无向图的深度优先遍历、广度优先遍历
要求:实现无向图的深度优先遍历、广度优先遍历。输入:图的顶点及边的信息。
输入格式:
第一行输入一个正整数n,表示图的顶点个数。
第二行输入一个正整数e,表示图的边的条数。
接下来有e行,每行分别有两个数v1,v2,表示编号为v1的点跟编号为v2的边之间有一条边相连。(0<=v1, v2 <= n-1)
输出:图的深度优先遍历序列、广度优先遍历序列,要求输出顶点编号。(存在多种遍历序列,只需要输出其中一种即可。)
输出格式:输出有两行,第一行是深度优先遍历序列,第二行是广度优先遍历序列,顶点编号之间用空格隔开。
例:输入:
6
5
0 1
0 2
0 3
1 2
4 5
输出:0 1 2 3 4 5
0 1 3 2 4 5
分析:上述输入数据,对应于以下的图:
V1 V2 V6
| \ | |
| \ | |
V4 V3 V5
其中一种深度优先遍历序列为V1 V2 V3 V4 V5 V6。对应的顶点编号为0 1 2 3 4 5。所以第一行输出0 1 2 3 4 5。
其中一种广度优先遍历序列为V1 V2 V4 V3 V5 V6。对应的顶点编号为0 1 3 2 4 5。所以第二行输出 0 1 3 2 4 5。
注意:
1. 可假设输入数据均为合法数据。
2. 存储结构:可采用数组表示法或邻接表表示法。