代码随想录冲冲冲 Day56 图论Part8

117. 软件构建

这道题是使用拓扑排序的方法 看多个任务有优先级的情况下 怎么排序

对应到这道题就是文件排序

首先要记录每一个点的入度,当一个点的入度为0时,就说明这个点是顶点

然后记录每一个点向那些点相连

之后建立一个queue

寻找一个入度为0的点作为起点

对于这个queue进行操作

每次取出这个点,因为这个点的入度一定为0 所以可以直接放入result集中

接着更新这个确认的点指向的其他点,把这个点去掉的方法就是把所有相连的点的

入度-1。减去之后如果有一个,点的入度变成了0,也就是说这点变成了下一个起始点

就放入到que当中,最后把result里所有点打印出来。

如果说result集中的个数 不等于总个数,这就说明有的点入度一直都不可能为0;

这就是成环的情况 出现这种情况就打印出-1;

47. 参加科学大会(第六期模拟笔试)

这道题是使用dijkstra去找从起始点到终点的最近距离

这道题和prime方法非常相似,区别是prime算的是节点到树的最小距离

dijkstra是节点到原点的最短距离

首先先确认起始点和重点 并且建立mindist和visit 

由于就是从start节点开始的 所以mindist[start] = 0;

之后就是便利所有的点

第一步找到没有访问过的点中离七十点最近的

第二部 把这个点更新成已经访问过的

第三步 看其他没有访问过的节点,看这些节点有没有跟之前的cur相连

如果说有项链,并且之前cur到原点的值 + cur到邻边的值小于现在记录的minDist[v]

就把minDist[v]更新成minDist[cur] + grid[cur][v]

最后就要拿出minDist[end]

如果想要记录整个的路程 就跟prime一样就可以

关于debug可以打印minDist来看对不对

重要重要重要!! 对于这个算法来说 边的权重不能为负数!

 

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

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

相关文章

基于quill2.0的富文本编辑器,Fluent Editor,支持表格,图片,表情等

官网&#xff1a;Fluent Editor | 基于 Quill 2.0 的富文本编辑器 安装 npm i opentiny/fluent-editor quill 使用案例 <template><div class"publish-form-container"><!-- TODO --><div ref"quillEditorRef" class"quill…

python的逻辑控制

python逻辑执行 python条件控制if嵌套循环语句内置函数range()Pass语句 python迭代器与生成器在python中创建一个迭代器生成器yield python条件控制 # 在python中&#xff0c;不使用括号将条件固定 if exp: # 条件满足则执行&#xff0c;后续语句不执行# 不使用{}将执行语句固…

Java框架学习(mybatis)(01)

简介&#xff1a;以本片记录在尚硅谷学习ssm-mybatis时遇到的小知识 详情移步&#xff1a;想参考的朋友建议全部打开相互配合学习&#xff01; 官方文档&#xff1a; MyBatis中文网https://mybatis.net.cn/index.html 学习视频&#xff1a; 067-mybatis-介绍和对比_哔哩哔…

《向量数据库指南》——Zilliz迁移服务:一键解锁跨平台数据迁移新纪元

在数据驱动的时代背景下&#xff0c;非结构化数据的处理与迁移已成为企业数字化转型中不可或缺的一环。随着向量数据库技术的飞速发展&#xff0c;尤其是像Milvus这样的高性能向量数据库系统的广泛应用&#xff0c;如何高效、安全、准确地实现数据在不同系统间的迁移&#xff0…

Arthas mc(Memory Compiler/内存编译器 )

文章目录 二、命令列表2.2 class/classloader相关命令2.2.2 mc &#xff08;Memory Compiler/内存编译器 &#xff09;举例1&#xff1a;可以通过-d命令指定输出目录&#xff1a;mc -d /temporary/tmp /temporary/tmp/AccountController.java举例2&#xff1a;通过--classLoade…

书生大模型实战营学习[7] InternLM + LlamaIndex RAG 实践

环境配置 选择30%A100做本次任务 conda create -n llamaindex python3.10 conda activate llamaindex conda install pytorch2.0.1 torchvision0.15.2 torchaudio2.0.2 pytorch-cuda11.7 -c pytorch -c nvidia pip install einops pip install protobuf安装Llamaindex cond…

2024年9月27日历史上的今天大事件早读

1540年09月27日罗马教皇正式批准耶稣会 1605年09月27日吉尔霍尔姆战役爆发 1825年09月27日世界第一条铁路在英国正式通车 1840年09月27日美国海军战略思想家马汉出生 1858年09月27日天地会起义&#xff0c;建立大成国 1910年09月27日橡胶股灾亡国录 1913年09月27日孙中山…

隆道供应商四大类服务升级全面速览!

隆道供应商服务升级&#xff0c;全流程在线业务协同场景&#xff0c;支持系统性交易协同服务和企业营销&#xff0c;通过持续深入洞察供应商的核心需求&#xff0c;对营销类、协同类、风控类及数据类四大关键服务进行了全面升级。推出一系列创新应用&#xff0c;致力于帮助供应…

项目启动错误

说明&#xff1a;记录一次项目启动&#xff0c;报数据库访问错误&#xff0c;如下&#xff1a; 错误信息&#xff1a;Invalid default&#xff1a;public abstract java.lang.Class tk.mybatis.spring.annotation.MapperScan.fatoryBean() 解决 没有引入mybatis依赖&#xff…

AlphaFold3 | 详解 AlphaFold3 的模型结构及其在不同类型的预测实验中的表现

Jumper 本文将介绍 24 年 5 月发布的 Alaphafold3&#xff0c;其以“使用 AlphaFold 3 进行生物分子相互作用的精确结构预测”为标题发表在《nature》上&#xff0c;通讯作者为 Jumper。 Jumper 具有物理、化学、生物和计算方面的丰富背景。Jumper 本科学的是物理和数学&#…

Python中的数据处理与分析:从基础到高级

在数据科学和数据分析领域&#xff0c;Python凭借其丰富的库和强大的生态系统&#xff0c;成为了最受欢迎的语言之一。本文将从基础到高级&#xff0c;详细介绍如何使用Python进行数据处理和分析&#xff0c;涵盖数据清洗、数据转换、数据可视化等多个方面。 1. 数据导入与导出…

网络安全专业,在校大学生如何赚外快,实现财富自由?零基础入门到精通,收藏这一篇就够了

如今&#xff0c;计算机行业内卷严重&#xff0c;我们不找点赚外快的路子这么行呢&#xff1f; 今天就来说说网络安全专业平时都怎么赚外快。 一、安全众测 国内有很多成熟的src众测平台&#xff0c;如漏洞盒子、火线众测、补天、CNVD、漏洞银行等。一些大厂也有自己的src&a…

下载配置Android Studio(2024年9月)

安装JAVA JDK 下载安装包 Java网站官网 Java Downloads | Oracle 我下载的是JDK Development Kit 17.0.12 downloads Windows x64 MSI Installer。 下载后打开文件&#xff0c;一路NEXT闭眼安装。 配置环境变量 设置-系统-系统高级设置-环境变量 1.新建一个系统环境变量&…

【Linux系统编程】第二十四弹---从零到一:掌握进程替换的奥秘

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、进程程序替换 1.1、替换原理 1.2、替换函数 1.3、函数解释 1.4、命名理解 1.5、代码演示 1.5.1、execl调用举例 1.5…

Dina: 1.0.1靶场

下载链接&#xff1a;https://download.vulnhub.com/dina/Dina-1-0-1.ova 一、信息收集 靶机界面 扫描主机ip arp-scan -l 扫描端口 nmap -p- -A 192.168.137.129 扫描目录 dirb http://192.168.137.129/ 打开网站 没有太多有用信息&#xff0c;点击提交后会有个目录 依旧…

HDFS分布式文件系统01-HDFS JAVA操作与联邦机制

HDFS分布式文件系统 参考学习目标第三课时知识点1-HDFS的Java API介绍知识点2-案例-使用Java API操作HDFS 第四课时知识点1-Federation机制的实现原理知识点2-Federation机制的特点知识点3-Federation机制的实现知识点4-Erasure Coding 参考 maven的setting.xml配置文件详解 …

软件测评CNAS认可实验室程序文件之检测报告的编制和交付程序

软件测评实验室在申请CNAS认可时&#xff0c;需要根据相关准则文件的要求&#xff0c;建立质量管理体系&#xff0c;其中程序文件是质量管理体系中非常重要的一环。在前面的文章中&#xff0c;我们为大家整体介绍了CNAS软件测评实验室程序文件主要都有哪些&#xff0c;以及对部…

Pygame中Sprite实现逃亡游戏4

在《Pygame中Sprite实现逃亡游戏3》中实现了玩家跳跃飞火的效果&#xff0c;接下来通过精灵类的碰撞检测来判断飞火是否击中玩家、飞火是否击中飞龙以及飞龙是否抓住玩家。 1 飞火是否击中玩家的判断 判断飞火是否击中玩家的代码如图1所示。 图1 判断飞火是否击中玩家的代码 …

使用Docker快速本地部署RSSHub结合内网穿透访问RSS订阅源

文章目录 前言1. Docker 安装2. Docker 部署Rsshub3. 本地访问Rsshub4. Linux安装Cpolar5. 配置公网地址6. 远程访问Rsshub7. 固定Cpolar公网地址8. 固定地址访问 前言 今天和大家分享的是如何在本地快速简单部署Rsshub工具&#xff0c;并结合cpolar内网穿透工具使用公网地址远…

心觉:如何重塑高效学习的潜意识(3)东西很好,但用不起,怎么破?

Hi&#xff0c;我是心觉&#xff0c;与你一起玩转潜意识、脑波音乐和吸引力法则&#xff0c;轻松掌控自己的人生&#xff01; 挑战每日一省写作182/1000天 上篇文章我们讲了喜欢系统化学习的人的底层逻辑 已经做到了知己&#xff0c;还需要做到知彼&#xff0c;才能百战不殆…