拓补排序板子(卡恩算法/

news/2025/2/25 18:14:29/文章来源:https://www.cnblogs.com/benscode/p/18736950

Kahn算法

(判环,输出拓补序列)

时间复杂度O(n+e)

int n,m;
vector<int>e[105];//邻接表
vector<int>tp;//拓扑数组
int din[105];//入度表
bool toposort(){queue<int>q;rep(i,1,n) if(din[i]==0)q.push(i);while(!q.empty()){int x=q.front();q.pop();tp.pb(x);for(int i=0;i<e[x].size();i++){if(--din[e[x][i]]==0)q.push(e[x][i]);}}return tp.size()==n;
}

dfs染色法

vector<int>e[n];
vector<int>tp;
int c[n];//1 代表已经搜到  0 代表未遍历 -1代表正在遍历 
bool dfs(int x){c[x]=-1;for(auto y:e[x]){if(c[y]==-1)return false;if(c[y]==0){if(!dfs(y))return false;}}c[x]=1;tp.pb(x);return true;
}bool toposort(){memset(c,0,sizeof(c));rep(i,1,n){if(c[x]==0){if(!dfs(x))return false;}}reverse(tp.begin(),tp.end());return true;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

条形码编码规则全解析:从黑白条纹到数字世界的转换密码

条形码的编码规则是将字符(数字、字母等)转换为特定黑白条纹或矩阵结构的标准化方法,核心目的是让机器能够快速、准确地识别和解析信息。以下是常见条形码编码规则的简介: 一维条形码编码规则 1. ​基本原理通过不同宽度的黑白条纹​(或空格)组合表示字符。 每个字符对应…

[汽车电子/车联网] CANoe

概述:CANoe CAN 全家桶区别: CANoe vs CanalyzerCANoe和CANalyzer使用方法类似(简直可以说 相同)。 都可用于simulation,区别在于CANalyzer只能模拟单个Node,而CANoe可以同时模拟多个Node。如果入门学习了CANoe,就不用入门学习CANalyzer了。安装指南 安装 CANoeDemo on …

璞华易研PLM荣登软服之家多项榜单,PLM+AI为流程行业提供产品创新引擎

近日,国内知名软件与服务评测平台软服之家发布了多个PLM(Product Lifecycle Management,产品全生命周期管理)榜单,帮助用户了解PLM领域表现卓越的软件产品和服务。在软服之家的多项榜单中,璞华易研PLM凭借其自主研发能力与行业深耕优势,在流程行业、电子信息、装备制造等…

ELK 原理介绍及实践详解

介绍了ELK(Elasticsearch, Logstash, Kibana)在大规模日志管理中的重要性,阐述了ELK解决日志分析的挑战,如日志收集、传输、存储和分析。文章详细讲解了ELK的组成部分,包括Filebeat的工作原理、Logstash的输入、过滤和输出阶段,以及Kibana的分析和可视化功能。此外,还提…

工信部人才交流中心PostgreSQL认证考试 - 聊一下更多精彩

在数字经济高速发展的今天,数据库作为信息基础设施的核心组件,其技术自主性与人才储备已成为国家战略竞争力的关键。工业和信息化部人才交流中心(以下简称“工信人才”)推出PostgreSQL认证考试,不仅是对技术发展趋势的精准响应,更是推动信创产业生态建设、填补数据库人才缺…

单链表与单循环链表的C语言实现

单链表与单循环链表的C语言实现 目录单链表与单循环链表的C语言实现单链表的增删查改单循环链表的增删查改 单链表的增删查改 /*单链表*/#include<stdio.h> #include<stdlib.h>typedef struct Node{int data;struct Node* next; }Node;Node* initList(){Node* node…

可能是全球最快捷的修改hosts文件方式

使用快捷方式一键修改hosts文件。 下面请看VCR:其实关键的命令只有一条:powershell.exe -Command "Start-Process -FilePath notepad.exe -Verb RunAs -ArgumentList "$env:SystemRoot\system32\drivers\etc\hosts""它使用记事本以管理员权限打开位于 C:…

KUKA机器人KR70伺服电机力矩不足维修攻略

库卡机器人作为先进的工业自动化解决方案,广泛应用于各种生产线中。然而,当出现KUKA机械手伺服马达力矩不足干燥的问题时,可能会严重影响其工作效率和性能。 一、库卡机器人电机力矩不足故障的原因 1. 电机老化:随着使用时间的增加,电机内部的零部件可能会出现磨损,导致力…

S2-防护-战士Warrior-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 急速>全能>爆击>精通 急速和全能越高越好。爆击和精通随缘。 --团本天赋(更新时间2月5日)--团本天赋代码 CkEAmidFBOBFf5oKuZ7r/WeW7YEDAAAAzMzYmZGMbzsMzMz2mZMMNzgZmBwyADbMzMwDMzDMMAAAAAAgZGAgltNADDsBLLGNmBwsFbYD --大秘天赋(更新时间2月5日)--大…

S2-武器-战士Warrior-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 急速>爆击>精通>全能 急速和爆击越高越好。精通随缘。不要全能。 --团本/单体天赋(更新时间2月10日)--团本/单体天赋代码 CcEAmidFBOBFf5oKuZ7r/WeW7AAzYmZMzMzsZZZZmBAAAADmGmZYbGzAzYMzMYmhBGmhBAAAAAAAPwYWmZmBQgxy2ALgBMDTIDwG --大秘/AOE巨神兵天…

S2-织雾-武僧Monk-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 急速>全能>爆击>精通 急速和全能越高越好。爆击随缘。不要精通。 --团本天赋(更新时间2月5日)--团本天赋代码 C4QAqCjoPBi1F5zHY9mx8hvRaCAAAAAAAAGzCzYYDzYmZZYDLzMb2mlllZmlFMamZGYGmZhBbzYGmtxMDWMBAAAAABYxyssMbzMTQAALA --大秘(鶴僧)天赋(更新时间…

全球最强即时推理AI大模型Claude 3.7发布!

0 前言 2025年2月25日,今天发布迄今为止最智能的模型——Claude 3.7 Sonnet,全球首个混合推理(Hybrid Reasoning)模型。提供:近乎实时回答 同时进行深入的、分步骤的推理 且这种思考过程可直观展示给用户 对API用户,还可精细控制模型的思考时长在编程和前端开发方面表现尤…