最短路径(图的深度优先遍历)

图的基本概念:图就是N个顶点,M条边组成的集合图有有向图和无向图如果给图中每条边规定一个方向,则得到的图是有向图,其边为有向边。在有向图中,与一个点相关联的边有出边和入边之分,而与一个有向边关联的两个点也有始点和终点之分边没有方向的图称为无向图我们采用图的邻接矩阵来存储图(当然还有其他方法)在存储无向图时,需要注意的是:存储的边,需要有两个,例如:存储(a,b)边时,需要在图的邻接矩...
摘要由CSDN通过智能技术生成

图的基本概念:
图就是N个顶点,M条边组成的集合
图有有向图和无向图
如果给图中每条边规定一个方向,则得到的图是有向图,其边为有向边。在有向图中,与一个点相关联的边有出边和入边之分,而与一个有向边关联的两个点也有始点和终点之分
边没有方向的图称为无向图

我们采用图的邻接矩阵来存储图(当然还有其他方法)
在存储无向图时,需要注意的是:
存储的边,需要有两个,例如:存储(a,b)边时,需要在图的邻接矩阵中,存储e[a][b]和e[b][a]两条边。以表示这是一个无向的边。
无向图存储于邻接矩阵中,会使得这个矩阵是对称的

在存储有向图时,就只需要简单的存储一边就好了。

我们规定,点到点自身的距离为0
初始化时,点到点之间(非自身)的距离为(无穷)

在这里插入图片描述
一堆点,点点之间有通路。
要找到一个点到一个点的最小距离
采用dfs方法

#include<stdio.h>
int min = 999999999;
int book[101];	//标记点是否已遍历
int n;
int e[101][101];	//存储图

void dfs(int cur, int dis)	//cur表示当前所处点,dis表示已经走过的路程
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值