当前位置: 首页 > news >正文

图的拓扑序列(DFS2)

reference way:在图里面能延伸的越远,deep越大,说明它能从自己延伸很长到别的节点(别的节点一定有入度),它越可能没有入度。

way:感觉和DFS1差不多,只是从远变成了多。

#include<iostream>
#include<vector>
#include<map>
#include<set>
#include<algorithm>
using namespace std;class Node
{
public:int label;vector<Node *> neighbors;Node(){}Node(int x){label=x;}
};class Record
{
public:Node* node;long childs;Record(Node* n, long num){node=n;childs=num;}
};Record* getRecord(Node *cur, map<Node *,Record *>&mp)
{if(mp.count(cur)) return mp[cur];long follow=0;for(auto next: cur->neighbors){follow += getRecord(next, mp)->childs;}Record *p=new Record(cur,follow+1);mp[cur]=p;return p;
}bool comp(Record *a, Record*b)
{return (a->childs)>(b->childs);
}vector<Node*> topoSort(vector<Node*>graph)
{//获取所有节点的deep然后 map[Node*]=Record*;map<Node*, Record*>mp;for(auto node: graph){getRecord(node, mp);}//将Record*们放到vec中准备排序vector<Record*>vec;for(auto pa: mp){vec.push_back(pa.second);}sort(vec.begin(),vec.end(),comp);//放到答案数组中vector<Node*>result;for(auto m: vec){result.push_back(m->node);}return result;
}

和前一篇(图的拓扑序列(DFS1)-CSDN博客)对比着看。

相关文章:

图的拓扑序列(DFS2)

reference way&#xff1a;在图里面能延伸的越远&#xff0c;deep越大&#xff0c;说明它能从自己延伸很长到别的节点&#xff08;别的节点一定有入度&#xff09;&#xff0c;它越可能没有入度。 way&#xff1a;感觉和DFS1差不多&#xff0c;只是从远变成了多。 #include&l…...

2024年小学生古诗文大会备考:吃透历年真题和知识点(持续)

根据往年的安排&#xff0c;2024年小学生古诗文大会预计这个月就将启动。该如何备考2024年小学生古诗文大会呢&#xff1f;根据往期的经验&#xff0c;只要吃透这些真题和背后的知识点&#xff0c;通过上海小学生古诗文大会的初选&#xff08;初赛&#xff09;一点问题都没有。…...

SystemC学习使用记录

一、概述 对于复杂的片上系统&#xff0c;在进行RTL编码前&#xff0c;需进行深入的系统级仿真&#xff0c;以确认设计的体系结构是否恰当、总线是否能满足吞吐量和实现性要求以及存储器是否浪费&#xff0c;所进行的这些仿真要求在芯片的仿真模型上运行大量的软件&#xff0c…...

Github20K星开源团队协作工具:Zulip

Zulip&#xff1a;让团队协作的每一次交流&#xff0c;都精准高效。- 精选真开源&#xff0c;释放新价值。 概览 随着远程工作的兴起和团队协作的需求不断增加&#xff0c;群组聊天软件成为了日常工作中不可或缺的一部分。Zulip 是github上一个开源的团队协作工具&#xff0c;…...

C语言基础-标准库函数

C语言的标准库函数是由C语言标准库&#xff08;如C99、C11等&#xff09;提供的一系列预定义函数&#xff0c;这些函数通常用于执行常见的编程任务&#xff0c;如字符串操作、内存管理、数学计算、文件操作等。通过使用标准库函数&#xff0c;程序员可以更加高效地编写C语言程序…...

「51媒体」家居生活发布会,展览展会有哪些媒体邀约资源

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 家居生活类媒体包括多种类型&#xff0c;包括门户网站家居生活消费频道&#xff0c;专业的家居消费生活门户&#xff0c;以及行业媒体&#xff0c;平面媒体&#xff0c;KOL和意见领袖。下…...

力扣刷题--数组--第五天

昨天做了几道关于双指针求解的算法题&#xff0c;今天继续看相关的题目。 844. 比较含退格的字符串 给定 s 和 t 两个字符串&#xff0c;当它们分别被输入到空白的文本编辑器后&#xff0c;如果两者相等&#xff0c;返回 true 。# 代表退格字符。   注意&#xff1a;如果对空…...

kafka学习笔记04(小滴课堂)

Kafka的producer生产者发送到Broker分区策略讲解 Kafka核心API模块-producer API讲解实战 代码&#xff1a; ProducerRecord介绍和key的作用 Kafka核心API模块-producerAPI回调函数实战 producer生产者发送指定分区实战 我们设置5个分区。 我们指定分区。 重新指定一个分区&am…...

三菱FX3U-4AD模拟量电压输入采集实例

硬件&#xff1a;&#xff30;&#xff2c;&#xff23;模块 &#xff26;&#xff38;&#xff13;&#xff27;&#xff21;-&#xff12;&#xff14;&#xff2d;&#xff34; &#xff1b;&#xff21;&#xff0f;&#xff24;模块&#xff26;&#xff38;&#xff13…...

OpenAI推出DALL·E 3识别器、媒体管理器

5月8日&#xff0c;OpenAI在官网宣布&#xff0c;将推出面向其文生图模型DALLE 3 的内容识别器&#xff0c;以及一个媒体管理器。 随着ChatGPT、DALLE 3等生成式AI产品被大量应用在实际业务中&#xff0c;人们越来越难分辨AI和人类创建内容的区别&#xff0c;这个识别器可以帮…...

Spring Boot 整合讯飞星火3.5通过接口Api接口实现聊天功能(首发)复制粘贴即可使用,后续更新WebSocket实现聊天功能

程序员必备网站&#xff1a; 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 1.pom.xml <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.72</version></dependency><depen…...

信息系统项目管理师——十大管理过程输入、工具和技术、输出(论文篇)一

一、项目整合管理 制定项目章程 在项目管理中&#xff0c;制定项目章程是一个关键的初始过程&#xff0c;它正式授权项目的开始并为项目设定高层次的方向。项目章程的编制涉及特定的输入、采用的工具和技术&#xff0c;以及产生的输出。以下是这些方面的详细说明&#xff1a;…...

Java——代码块

1、概念分类 使用 {} 定义的一段代码称为代码块&#xff0c;根据代码块定义的位置以及关键字&#xff0c;可分为以下四种 普通代码块静态代码块构造代码块同步代码块 2、普通代码块 定义在方法中的代码块&#xff0c;这种用法较少见&#xff1a; 3、构造代码块 构造块&…...

Ajax额

原生Ajax xml 已被json取代 http 请求方法urlhttp版本号 network 谷歌浏览器查看请求报文和响应报文 F12 network header里面有 请求头 响应头 点击view source 可以查看请求响应行 请求体在请求行头下面 get请求有url参数&#xff0c;请求体变为query String…...

5.15项目进度总结

今天完成了随机选人和实时显示的功能&#xff08;还需要维护&#xff09;&#xff0c;使得程序可以对用户的操作进行实时的显示。 实时显示的思路&#xff1a;在登录后开一个线程用一个socket去链接服务端并查询需要实时的信息&#xff0c;同时服务端把这个socket记录下来&…...

POETIZE个人博客系统源码 | 最美博客

简介&#xff1a; POETIZE个人博客系统源码 | 最美博客 这是一个 SpringBoot Vue2 Vue3 的产物&#xff0c;支持移动端自适应&#xff0c;配有完备的前台和后台管理功能。 网站分两个模块&#xff1a; 博客系统&#xff1a;具有文章&#xff0c;表白墙&#xff0c;图片墙&…...

回复完成 输入框还显示值的问题

回复完成 输入框还显示值的问题 解决代码 先把id 值清空 再构建下这个输入框 $("#details_article_reply_content").val(""); // 清空textareavar editor editormd("article_details_reply", {width: "100%",height: "100%"…...

C语言----斐波那契数列(附源代码)

各位看官们好&#xff0c;当我写了上一篇博客杨辉三角后&#xff0c;有一些看官叫我讲一下斐波那契数列。对于这个大家应该是有了解的。最简单的规律就是f(n)f(n-2)f(n-1)。就是当前是前两项之和&#xff0c;然后下标1和0都是1.从第三项开始计算的。那么我们知道规律&#xff0…...

javax.net.ssl.SSLException: Received fatal alert: protocol_version已经解决

起因&#xff1a; 在帮别人讲解项目时&#xff0c;将项目的tomcat配置完&#xff0c;点击运行后&#xff0c;报错&#xff0c;信息如标题。 解决办法&#xff1a; 在csdn百度问题&#xff0c;得到的方法主要有几个&#xff1a; 1.jdk要配置在1.8以上&#xff1b; 2.数据库地…...

uniapp 实现下拉刷新 下滑更新

效果图 在app或者小程序中向下滑动 会出现刷新数据 ,而上拉到底 需要更新数据 功能实现 主要俩种方式 依赖生命周期 在page.json中开启 page.json "style" : {"navigationBarTitleText" : "小小练习","backgroundTextStyle": &qu…...

交通流预测代码复现:提出了一种创新的时间感知结构-语义耦合图网络,旨在解决图学习中的困难问题

交通流预测代码复现&#xff1a;提出了一种创新的时间感知结构-语义耦合图网络&#xff0c;旨在解决图学习中的困难问题 [1]我们设计了新的图学习块&#xff0c;能够同时学习图的结构和语义方面&#xff0c;从而捕获图的固有特征 [2]我们还引入了自采样方法&#xff0c;对相关的…...

Electron实战:将你的网页应用打包成桌面客户端

在当今数字化时代&#xff0c;网页应用已经渗透到我们工作和生活的方方面面。有时我们仍然需要一个桌面客户端来提供更稳定的运行环境、离线功能或更好的系统集成。Electron作为一个强大的跨平台框架&#xff0c;能够帮助开发者轻松将网页应用打包成桌面客户端。无论是开发效率…...

编译期类型自省如何拯救百万行遗留代码?C++27静态反射工业改造全链路拆解,从PoC到A/B灰度发布

第一章&#xff1a;编译期类型自省如何拯救百万行遗留代码&#xff1f;C27静态反射工业改造全链路拆解&#xff0c;从PoC到A/B灰度发布在某金融核心交易系统中&#xff0c;127万行C11遗留代码长期依赖宏字符串硬编码实现序列化与配置绑定&#xff0c;导致每次协议变更需人工同步…...

什么是模型存储

模型存储的理解 模型存储是指将训练好的机器学习模型保存到磁盘&#xff0c;以便后续直接使用而无需重新训练。 为什么需要模型存储&#xff1f; # 没有模型存储&#xff1a;每次使用都要重新训练 model train_model(data) # 可能需要几小时 prediction model.predict(ne…...

06_Cursor之上下文管理与代码库理解

关键字&#xff1a;上下文管理, 代码库理解, 符号引用, Git集成, 图像上下文, Cursor 06_Cursor之上下文管理与代码库理解 Cursor知识体系 Cursor知识体系&#xff08;续&#xff09; | -- 上下文管理层 | -- 代码库级理解 | | -- 项目结构分析 | | -- 依赖关系追…...

终极Kando多语言指南:如何快速实现跨平台饼状菜单的国际化支持

终极Kando多语言指南&#xff1a;如何快速实现跨平台饼状菜单的国际化支持 【免费下载链接】kando &#x1f338; Do things with utmost efficiency. 项目地址: https://gitcode.com/gh_mirrors/ka/kando Kando是一款高效的跨平台饼状菜单工具&#xff0c;通过直观的径…...

3个高效管理技巧让Windows右键菜单秒变清爽

3个高效管理技巧让Windows右键菜单秒变清爽 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager Windows右键菜单是日常操作的重要入口&#xff0c;但随着软件安装增多…...

Cuvil + HuggingFace Pipeline端到端加速实录:BERT-base推理延迟从142ms降至31ms的6个关键编译开关

第一章&#xff1a;Cuvil 编译器在 Python AI 推理中的应用 面试题汇总Cuvil 是一款面向 AI 推理场景的轻量级领域专用编译器&#xff08;DSL Compiler&#xff09;&#xff0c;专为优化 Python 中基于 PyTorch/TensorFlow 模型的部署而设计。它通过静态图分析、算子融合与硬件…...

javaweb农贸市场摊位商户管理信息系统设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商功能模块设计商户服务功能市场运营功能技术实现要点项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能模块设计 用户管理模块 角色划分&…...

效率飞跃:用快马平台快速测试与集成Copaw生成的用户认证模块

最近在开发一个需要用户系统的项目时&#xff0c;遇到了一个常见问题&#xff1a;如何快速验证从Copaw下载的认证模块代码是否真的能正常工作&#xff1f;传统方式需要手动搭建测试环境、配置数据库、编写测试用例&#xff0c;整个过程耗时耗力。直到发现了InsCode(快马)平台&a…...