1. 写在前面深度优先算法和广度优先算法在搜索方面有着重要的应用,例如经典的分酒问题以及最短线路等问题图的存储结构有两种:一种是基于二维数组的邻接矩阵表示法。 另一种是基于链表的的邻接表。 在邻接矩阵中,可以如下表示顶点和边连接关系:
我们在下面将要讨论的是下图的两种遍历方法(基于矩阵的):
我们已经说明了我们要用到的是邻接矩阵表示法,那么我首先要来构造图: 矩阵图的数据结构如下表示: #define MaxVnum 50
typedef double AdjMatrix[MaxVnum][MaxVnum]; //表示一个矩阵,用来存储顶点和边连接关系
typedef struct {
int vexnum,arcnum; //顶点的个数,边的个数
AdjMatrix arcs; //图的邻接矩阵
}Graph;
这样我们可以首先来创建上述图,为了方便,我们直接在代码中书写矩阵,而不用每次调试手动输入了 void CreateGraph(Graph |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|