C++ bfs反向建图(六十)【第七篇】

news2024/11/28 20:59:12

今天我们来学习一下bfs反向建图

1.bfs的反向建图

我们之前在图上求最短路都是求从起点出发到每个点的最短路,不过有时候我们也会遇到让求每个点到终点的最短路的问题,此时我们可以怎么做呢?

如果从每个点出发,用 BFS 搜索到终点,那么整体的时间复杂度就是 O(n(n+m)) ,还是比较高的,遇到点数和边数到达 10的5次方 的情况就不行了。

有这样一种建图技巧,反向建图。其实就是把每个图反过来建

把原图每条边都反过来,形成反向图。这样从终点沿着反向图中的边走过的一条路径,就相当于原图从某个点到终点的一条路径。

图片

所以我们就可以在反向图中从终点开始 BFS,记录下反向图中从终点出发到每个点的最短路,这也就是在原图中每个点到终点的最短路了。

此时时间复杂度为 O(n+m) 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1455954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于JavaWeb开发的羽毛球管理系统计算机毕业设计[附源码]

基于JavaWeb开发的羽毛球管理系统计算机毕业设计[附源码] 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系…

Linux环境安装Maven(详细图文)

目录 摘要 一、准备工作 1.检查当前环境是否安装maven 2.下载maven ​3.上传maven压缩包 4.解压maven包 5.移动到/usr/local目录下方便管理 6.配置maven环境变量 7.刷新配置文件 8.配置maven镜像仓库 9.验证是否成功 摘要 笔者Linux环境为:Ubuntu 22.04 …

C#上位机与三菱PLC的通信07--使用第3方通讯库读写数据

1、通讯库介绍 mcprotocol 是一个基于 Node.js 的三菱 PLC MC 协议通信库,具有以下特点: 支持多种三菱 PLC MC 协议的设备,如 FX3U、Q03UDECPU、QJ71E71 等。 支持多种功能码和数据类型,如读取线圈(M)、…

Yii2项目使用composer异常记录

问题描述 在yii2项目中,使用require命令安装依赖时,出现如下错误提示 该提示意思是:composer运行时,执行了yiisoft/yii2-composer目录下的插件,但是该插件使用的API版本是1.0,但是当前的cmposer版本提供的…

【JVM篇】什么是类加载器,有哪些常见的类加载器

文章目录 🍔什么是类加载器🛸有哪些常见的类加载器 🍔什么是类加载器 负责在类加载过程中,将字节码信息以流的方式获取并加载到内存当中 🛸有哪些常见的类加载器 启动类加载器 启动类加载器是有Hotspot虚拟机通过的类…

一文了解Web3.0真实社交先驱ERA

Web2时代,少数科技巨头垄断了全球近60亿人口的网络社交数据,并用之为自己牟利,用户无法掌控个人数据,打破该局面逐渐成为共识,于是,不少人看到了Web3社交赛道蕴含的巨大机遇,标榜着去中心化和抗…

官网域名SSL证书的重要性

什么是SSL证书? SSL(安全套接层)证书是一种加密技术,用于确保在用户浏览网站时,其数据传输经过安全通道,不能被第三方窃取或篡改。通过SSL证书,网站可以建立安全连接,保障用户与网站…

阿里云学生300元无门槛代金券领取入口,2024更新

阿里云300元无门槛代金券怎么领取?300元无门槛代金券是指阿里云的「云工开物」高校计划,学生完成实名认证即可领取300元无门槛优惠券,活动入口 aliyunbaike.com/go/university 活动的打开后,如下图: 阿里云学生代金券…

【自然语言处理】:实验4布置,预训练语言模型实现与应用

清华大学驭风计划 因为篇幅原因实验答案分开上传,自然语言处理专栏持续更新中,期待的小伙伴敬请关注 有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~ 案例简介 2018年,Google提出了预训练语言模型BE…

甲醇汽车产量不断增加 行业发展面临一定困难和挑战

甲醇汽车产量不断增加 行业发展面临一定困难和挑战 甲醇汽车是指以甲醇作为主要或者唯一燃料的汽车。与传统汽车相比,甲醇汽车具有节能减排、使用成本低、有害气体排放量少等优点,能够有效缓解能源紧缺及环境污染问题。 从上游市场来看,甲醇…

策略联动配置

策略联动简介 定义 策略联动是通过在网关设备上统一管理用户的访问策略并且在网关设备和认证接入设备执行用户的访问策略,来解决大型园区策略强度与复杂度之间矛盾的一种解决方案。 目的 传统网络中,在接入层部署NAC认证,使得认证接入设备…

在ChatGPT时代,出国留学如何避免掉入学术不端重灾区?

近日,哈佛校长克洛迪娜盖伊在校园“反犹风波”中因立场问题被迫辞职。此外,哈佛大学相关调查委员会还发现盖伊在学术论文中存在错误引用资料来源等问题。对于种种学术不端行为,留学生如何防范?在ChatGPT时代,出国留学如…

ktutil编写生成keytab文件的脚本、通过keytab文件认证用户

文章目录 1. 生成keytab文件脚本2. 通过keytab文件认证3. 查看认证的用户4. 失效认证的用户 1. 生成keytab文件脚本 生成keytab文件的脚本 vim generate_kb.sh #!/usr/bin/bash ktutil <<EOF add_entry -password -p $1 -k 1 -e arcfour-hmac $2 write_kt $3 EOF示例&am…

项目管理工具YouTrack v2023.3全新发布——支持一系列AI辅助功能

YouTrack 是一款项目管理工具&#xff0c;其中包含可以简化您的工作并在任何团队项目中提高生产力的功能。从软件开发和 DevOps 到人力资源和市场营销&#xff0c;各种团队都可以使用 YouTrack 的功能轻松跟踪和协作处理任何规模的项目。 YouTrack v2023.3正式版下载 具体更新…

【刷题记录】移除链表元素

本系列博客为个人刷题思路分享&#xff0c;有需要借鉴即可。 注&#xff1a;部分思路借鉴自程序员小熊 链接&#xff1a;https://leetcode.cn/problems/remove-linked-list-elements/solutions/341875/203-yi-chu-lian-biao-yuan-su-you-ya-di-gui-c-yu-ya/ 来源&#xff1a;力…

Dynamo更新图元的LocationCurve——群问题整理004

你好&#xff0c;这里是BIM的乐趣&#xff0c;我是九哥~ 近期给大家分享一些短平快的小教程&#xff0c;基本都是来自群里面常问的问题&#xff0c;不做过多的介绍了&#xff0c;直接上截图和代码。 问题004&#xff1a;Dynamo更新图元的LocationCurve 之前有小伙伴问&#…

BUGKU-WEB 源代码

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 你说啥就是啥&#xff1a;去源代码吧 相关工具 URL解码平台&#xff1a;https://www.iamwawa.cn/urldecode.html 解题步骤 随便输入试试 2. 看看源码 存在script&#xff1a; <script> …

软考 系统分析师系列知识点之企业信息化规划(2)

接前一篇文章&#xff1a;软考 系统分析师系列知识点之企业信息化规划&#xff08;1&#xff09; 所属章节&#xff1a; 第7章. 企业信息化战略与实施 第2节. 企业信息化规划 企业信息化建设是一项长期而艰巨的任务&#xff0c;不可能在短时间内完成。因此&#xff0c;企业信息…

提高供应商收发文件效率的同时,如何保障数据的安全流转?

数据文件是制造业企业的核心竞争力&#xff0c;一旦发生数据外泄&#xff0c;就会给企业造成经济损失。之前就出现过像小米二级供应商因对其下游供应商管理不善&#xff0c;泄露了小米汽车前后保险杠的早期设计稿事件。制造业企业与供应商之间业务联系紧密&#xff0c;文件流转…

白话微机:8.解释FPGA以及一些考研面试问题

一. 前言&#xff08;更新世界观&#xff09; 在“微机世界”&#xff0c;普通的城市(单片机)里&#xff0c;人又有一个别的名字叫做“数据”&#xff0c;人有0有1&#xff1b;人们也有住房&#xff0c;这些住房在这个世界叫做“存储器”&#xff1b;地上有路&#xff0c;这些路…