理论: 图论(5): 无权图的最短路径

本文介绍了无权图中最短路径的计算方法,主要通过广度优先遍历实现。详细阐述了算法的过程,包括初始状态、搜索方式以及优化措施,如利用队列优化以达到O(E + V)的时间复杂度。此外,还讨论了如何判断图的连通性,并提供了相关伪代码。
摘要由CSDN通过智能技术生成

概述

·
这里写图片描述

上图表示一个无权图G, 使用每个顶点S 作为输入参数, 我们想要找出从S到所有顶点的最短路径。

我们只对包含在路径中的边数有兴趣, 因此在边上不存在权。 显然, 这是赋权最短路径的特殊情形。

因为我们可以为所有的边赋以权为1
·
·

详细过程

这里存在一种图的搜索方式: 广度优先遍历。 该方法按层处理, 顶点; 距离最近的顶点首先被赋值, 然后最远的点最后被赋值。 这很像树的层次遍历

有了这种方法, 我们必须把他翻译成代码。 现在我们对于每个顶点有三组信息: 是否被访问过, 距离起始点的距离, 这条最短路径中这个节点的上一个节点

void unweighted(table T)
{
    int currdist;
    vertex V, W;

    for (currdist = 0; currdist < numvertex; currdist++)
    {
        for each vertex V
        {
            if (!T[V].know &
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值