深度搜索:DFS,就是从其中一个顶点v开始,,访问顶点,然后,从v开始往一个方向搜索,直到遇到的下一个搜索目标是已经搜索过的,然后返回上一个结点,判断有没有结点是没有被搜索过的,若没有,继续返回上一层,直到所有的都被访问完。
先用邻接矩阵写一遍
贴下代码:
#include<iostream>
using namespace std;
const int vertex_max = 20;
//初始设定顶点的最大值为20
struct Graph
{
char
vertex
[
vertex_max
];
//建立顶点表
int
arc
[
vertex_max
][
vertex_max
];
//邻接矩阵
int
vertexnum
,
arcnum;
//顶点个数,边个数
};
void CreatGraph( Graph & G)
{
int
i
,
j
,
k
,
w;
//w是权值
cout
<<
"请输入顶点个数和边的个数:"
<<
endl;
cin
>>
G
.
vertexnum
>>
G
.
arcnum<
using namespace std;
const int vertex_max = 20;
struct Graph
{
};
void CreatGraph( Graph & G)
{