一、深度优先搜索
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
const int N = 60;
int n;
int vex[N], matrix[N][N];
/*
* 输入矩阵队列图
*/
void scanf_graph(int n)
{
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n; j++)
scanf("%d ", &matrix[i][j]);
// printf("\n");
}
}
/*
* 创建图(自己输入)
*/
void create_graph(int n)
{
// 初始化"顶点"
for (int i = 0; i < n; i ++) vex[i] = i;
scanf_graph(n);
}
/*
* 返回顶点v的第一个邻接顶点的索引,失败则返回-1
*/
static int first_vertex(int v)
{
if (v<0 || v>(n-1)) return -1;
for (int i = 0; i < n; i++)
if (matrix[v][i] ==