利用邻接矩阵存储图,并用深度优先算法遍历二叉树
邻接矩阵存储图和深度优先算法遍历二叉树 邻接矩阵是一种常用的图存储方式,它将图中的边信息存储在一个矩阵中,每个元素对应两个顶点之间的边的存在情况。利用邻接矩阵存储图可以方便地进行图的遍历和搜索。 在上述代码中,我们首先定义了一个图结构体 `Mgraph`,其中包含一个顶点数组 `vexs` 和一个邻接矩阵 `arcs`。然后,我们定义了一个访问标记数组 `visited`,用于标记节点是否已访问。 接下来,我们实现了一个建立图的函数 `Creat_graph`,该函数将两个顶点之间的边添加到邻接矩阵中。然后,我们实现了一个输出邻接矩阵的函数 `print_Mgraph`,该函数将邻接矩阵的元素输出到控制台上。 深度优先算法(Depth-First Search,DFS)是一种常用的图遍历算法,它从给定的起点开始,沿着边遍历图,直到遍历完所有可达的节点。我们实现了一个深度优先算法遍历图的函数 `DFSm`,该函数使用递归的方式遍历图,并将访问的节点信息输出到控制台上。 在 `main` 函数中,我们首先初始化了图的顶点和邻接矩阵,然后建立了一个图,并输出了邻接矩阵。我们使用深度优先算法遍历图,并输出了遍历的结果。 需要注意的是,深度优先算法只能遍历连通图,否则可能会出现死循环的情况。为了避免这种情况,我们在 `main` 函数中使用了一个标记数组 `visited`,用于标记节点是否已访问,并对未访问的节点进行遍历。 本实验展示了如何使用邻接矩阵存储图和深度优先算法遍历二叉树,实现了图的遍历和搜索功能。 知识点: * 邻接矩阵存储图 * 深度优先算法遍历图 * 图的遍历和搜索 * C语言编程 更多相关知识点: * 图的基本概念:顶点、边、邻接矩阵等 * 图的存储方式:邻接矩阵、邻接表等 * 图的遍历算法:深度优先算法、广度优先算法等 * 图的搜索算法:深度优先搜索、广度优先搜索等
- 粉丝: 23
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助