拓扑排序复习

AOV AOE 拓扑排序算法 复习 AOV (Activity on Edge) 顶点为任务,按照任务先后顺序前后排序; 用于排序较好; 排序结果不唯一 /* 邻接表存储 - 拓扑排序算法 */ bool TopSort( LGraph Graph, Vertex TopOrder[] ) { /* 对Graph进行拓扑排序, TopOrder[]顺序存储排序后的顶点下标 */ int Indegree[MaxVert... 阅读详情
  1. 问题本质:有向无环图的宽度优先遍历。
  2. 本质:拓扑图的最短路 就是 最熟悉的DP。
  3. 规定:每条边都是从起点指向终点。无逆序。
  4. 算法思路:
    1. 入度为0的点全部作为起点.
    2. 一个入读数组d[];入度数组在加边的时候初始化。
    3. 遍历d数组,if(d[i]==0)那么这个点入队。
    4. 然后bfs。
    5. 队列里的次序就是拓扑排序。
  5. 拓扑排序 不唯一。
  6. static void bfs(){
        for(int i= 1;i<=N;i++) if(d[i]==0) Q[++tt] = i;  //把入度为0 的真正的值存进去。
        while(hh<=tt){  //队列不空
            int u = Q[hh++];
            for(int i = h[u];i!=-1;i=NE[i]){
                int j = E[i];
                d[j]--;
                if(d[j]==0) Q[++tt] = j;
            }
        }
        if(tt == N-1) { //所有的点都已经入队过了。   模拟队列可以直接记录拓扑排序
            for(int i =0;i<N;i++) System.out.print(Q[i]+" ");
        }else System.out.println(-1);
     }
    

题:

  1. 课程表:学习A课程前必须学习B课程,问是否可能完成。 (easy)
  2. 可达性分析:问每个点能到达多少个点。 正向超时,反向拓扑排序+bitset (mid)
      //初始化bitset
      for(int i = 1;i<=N;i++){
          bitSets[i] = new BitSet(); //不需要设置长度吗???
          bitSets[i].set(i); //把第i位置为1;
      }
      for(int k = top.size()-1;k>=0;k--){ // 倒叙找能到达的点,像是DP回溯
          int t = top.get(k);
          for(int i = h[t];i!=-1;i=NE[i]){
              int j = E[i];
              bitSets[t].or(bitSets[j]);
          }
      }
      for(int i = 1;i<=N;i++) System.out.println(bitSets[i].cardinality());
    
  3. vivo编译依赖问题:因为要保证顺序的拓扑排序,使用优先队列代替模拟队列即可,单独开一个list top 记录拓扑排序。 (mid)
AUTOSAR/汽车行业 AUTOSAR架构及汽车产业链相关介绍 阅读详情

相关推荐

【多模态大模型】GLIP:零样本目标检测新范式与视觉语言理解

本文深入解析了多模态大模型GLIP在零样本目标检测和视觉语言理解领域的创新应用。GLIP通过统一目标检测与自然语言理解任务,实现了零样本学习能力,能够精准定位复杂文本描述对应的图像区域。文章详细介绍了GLIP的核心技术、数据策略及实战表现,并对比了与其他多模态模型的差异,为AI视觉理解提供了新范式。

weixin_29186249的博客 263

拓扑排序复习笔记

今日在健身房撸铁的时候突然想起拓扑排序,今天就来做个复习笔记 文章目录题目引子一、拓扑是什么?二、执行步骤三、AC代码四、算法演示拓展题AC代码 题目引子 HDU-1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 55040 Accepted Submission(s): 20319 Problem Descript

DAVID3A的博客 396

2026 具身智能 VLA/WAM 全栈学习与训练路线:从动作建模、SFT、RL 到世界模型的 RTX PRO 6000 96GB 单卡实战指南

我会把这张表做成“”而不是只列论文名:先核对每个模型截至的公开代码、训练目标和数据接口,再单独给你一套。对于没有公开、只有推理代码或训练细节不完整的模型,我会明确标出来,避免把“论文里提到”误写成“可复现”。目前有一个重要更新:。截至今天 NVIDIA 官方开源主线已经是换成 Cosmos-Reason2-2B/Qwen3-VL 架构,动作端仍是连续路线,而且官方明确给出单卡微调时默认只训练,峰值显存约。所以你的 96GB 单卡对 GR00T SFT 非常宽裕。可以。下面我按,把它整理成一张真正面向“

u013250861的博客 441

复习拓扑排序

拓扑排序基本思想:将有向图中的节点按照依赖关系进行线性排序,使得每个节点都在排序中位于其依赖节点之后。算法等方式遍历图中的节点,并在遍历过程中确定节点的排序顺序。整个算法过程关注的核心是找到一种排列方式,使得图中的所有有向边的终点在排序中都出现在起点之后。拓扑排序的目标是找到一种节点的线性排列,使得图中的每条有向边的终点在排序中都出现在起点之后,就像执行任务,要先完成该任务所依赖的任务才能完成该任务。在实际应用中,DAG的无环性质使得拓扑排序成为一个有效且可行的算法。将该节点指向的节点的。

2302_79690531的博客 545

WS2812呼吸灯效果实战:用STM32的PWM+DMA实现流畅渐变(附完整代码)

本文详细介绍了如何使用STM32的PWM+DMA技术实现WS2812呼吸灯效果,提供完整的代码示例和调试技巧。通过PWM波形编码和DMA传输机制,解决了传统IO模拟控制方式的高CPU占用问题,实现了流畅的LED渐变效果,适用于各种嵌入式开发场景。

weixin_30566063的博客 452

Mem0 vs LangMem vs Letta:三大AI记忆框架实战对比(附代码示例)

本文深入对比了Mem0、LangMem和Letta三大AI记忆框架的核心特性与适用场景。Mem0提供开箱即用的记忆管理服务,适合快速集成;LangMem深度融入LangGraph生态,适合复杂工作流;Letta则采用虚拟内存系统,旨在突破上下文窗口限制。文章通过实战代码示例,为开发者选择适合其业务需求的AI记忆解决方案提供了清晰指南。

g9h0i1的博客 679

【专题复习】拓扑排序

拓扑

ssllyr 380

数学建模预测模型——回归分析预测

作为预测模型的大块头,回归分析预测绝对是比较常用的预测模型的一种,下面是对该模型的学习,欢迎大家指正😊。

everything is possible,anything is OK. 1万+

算法复习——拓扑排序

讲解: PS:摘自神犇qinzhaokun,这里附上链接:http://blog.youkuaiyun.com/qinzhaokun/article/details/48541117 定义和前置条件: 定义:将有向图中的顶点以线性方式进行排序。即对于任何连接自顶点u到顶点v的有向边uv,在最后的排序结果中,顶点u总是在顶点v的前面。 如果这个概念还略显抽象的话,那么不妨考虑一个非常非常...

banzhangzhi8819的博客 229

Python爬虫实战:利用Selenium与反反爬技术高效爬取企查查工商信息

本文将详细介绍如何使用Python最新爬虫技术(包括Selenium、Playwright、智能代理池等)爬取企查查工商信息数据。文章包含完整的代码实现、反反爬策略、数据解析与存储方案,以及法律合规性讨论,共计约8000字。企查查作为国内领先的企业信息查询平台,收录了超过2亿家企业的工商信息、司法信息、知识产权等数据。这些数据对于市场分析、商业决策等具有重要价值。法律边界提示禁止大规模爬取导致服务器过载不得绕过付费接口获取数据数据使用需遵守《个人信息保护法》商业用途需获得授权。

2201_76125261的博客 2236

OpenCV 实战篇——如何测算出任一副图片中的物体的实际尺寸?传感器尺寸与像元尺寸的关系?

本文介绍了通过相机图像测算物体实际尺寸的方法,重点分析了传感器参数与成像质量的关系。文章首先给出了物体实际尺寸的计算公式,涉及像素尺寸、距离、分辨率等参数。然后详细解析了传感器尺寸与像元尺寸的关系,指出相同分辨率下更大的传感器能获得更好的成像质量。此外还介绍了光学尺寸、像素尺寸对成像的影响,以及帧率的概念。最后提及了相机标定的重要性,并概述了从像素坐标系转换到世界坐标系的基本思路。这些知识为通过相机图像进行精确测量提供了理论基础。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1335

【PAT甲级复习】 专题复习四:拓扑排序

文章目录专题复习四(9.5):拓扑排序1 拓扑排序的代码实现2 例题解析——A1146 Topological Order (25 分) 专题复习四(9.5):拓扑排序 拓扑排序是将有向无环图G的所有顶点排成一个线性序列,使得对图G中的任意两个顶点u,v,如果存在边u->v,那么在序列中u一定在v的前面。这个序列又被称为拓扑序列。 拓扑排序的步骤如下: 定义一个队列Q,并把所有入度为0的节点加入队列。 取队首节点,输出。然后删去所有从它出发的边,并令这些边到达的顶点的入度减1,如果某个顶点的入

Harryline的博客 336

高通SDX35:SGMII接口PHY RTL8211FSI-CG驱动适配

高通SDX35 RTL8211F SGMII

不秃头的程序猿Gabriel的博客 785

期末程序复习之拓扑排序小测试

1:拓扑排序选课 【问题描述】 现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们,如: 0,1 给定课程总量,条件条数以及它们的先决条件,判断是否可能完成所有课程的学习? 提示:判断拓扑序列是否有环,拓扑序列不需要输出,可以不写result数组 示例 1: 输入: 4 4 1,0 2,0 3,1 3,2 输出: true 解释: 总共有 4 门课程。要学习课程 3,你应该先完成课程 1 和

hunxuewangzi的博客 311

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

大四复习:深入浅出解释拓扑排序

我在大二学习拓扑排序的时候,不是很明白,现在已经大四,抽时间复习一下拓扑排序。什么是拓扑排序?如何实现拓扑排序?拓扑排序的拓展什么是拓扑排序?首先拓扑排序的定义如下: 拓扑排序是一种对有向无环图的顶点进行排序的方法。它的主要目的是产生一个顶点的线性序列,使得如果在图中存在一条从顶点 A 指向顶点 B 的边,则在排序...

weixin_37024144的博客 82

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【复习记录】拓扑排序

概念给出多对关系(a,b),表示a在b之前。最后确定一个序列,使整个序列满足所有的(a,b)的过程就是拓扑排序。实现邻接表+(优先)队列 输入时处理每个点的入度 开始时将所有入度为0的点入队,每次弹出时入度–应用hzoj 1285 确定比赛名次 由于规定编号较小的先输出,所以用小跟堆维护。 codevs2833 奇怪的梦境 记录弹出的点的数量,使初始点数与之作差即可。

LOI_Sherlock 380

noip复习之拓扑排序

之前很多很多紫书上的东西我都忘了…… 抄题解的后果…… 做了一下裸题 https://vjudge.net/problem/UVA-10305 拓扑排序还可以来判环 #include<bits/stdc++.h> #define REP(i, a, b) for(register int i = (a); i < (b); i++) #define _for(i...

weixin_34072857的博客 228

复习--拓扑排序

拓扑排序并不很常见,但也不容小觑,所以也要认真去做,不能马虎。 来一发定义: 拓扑排序算法,只适用于AOV网(有向无环图)。   把AOV网中的所有活动排成一个序列, 使得每个活动的所有前驱活动都排在该活动的前面,这个过程称为“拓扑排序”,所得到的活动序列称为“拓扑序列”。 一个AOV网的拓扑序列是不唯一的,例如下面的这张图,它的拓扑序列可以是:ABCDE,也可以是ACBDE,或是AD...

weixin_30699831的博客 132

算法复习——图算法篇之拓扑排序

算法复习——图算法篇之拓扑排序 以下内容主要参考中国大学MOOC《算法设计与分析》,墙裂推荐希望入门算法的童鞋学习! 1. 问题背景 ​ 举一个生活中的实例,穿衣服是有顺序,比如肯定是先穿袜子,再穿鞋,不可能是先穿鞋,再穿袜子。 ​ 如上图所示,对于这类问题,我们可以用有向无环图里来表示事件发生的先后顺序,其中,有向规定了先后顺序,无环则避免了相互依赖。那么,问题就是比如在穿衣的这个生活场景中,如何确定一个可行的穿衣顺序呢? ​ 我们可以给出以下的方案: ​ 它要求有向图任意边的起点排在终点

NickHan_cs的博客 521

拓扑排序复习--HDU1285

纯拓扑排序 注意priority_queue的用法 //拓扑排序复习 HDU1285 #include&lt;bits/stdc++.h&gt; using namespace std; const int N = 505; int g[N][N]; int in[N]; int n, m; void topsort() { priority_queue&lt;int, vector&lt;...

qq_40628208的博客 201

拓扑排序复习——Chemist

一、基本算法 拓扑序列:对于一张有向图,求一个序列ai若对于每一条边(u,v),都满足au<=av,则称这个序列为这张有向图的拓扑序列,一张图可能有多个拓扑序列。 求拓扑序列:找到入度为0的点,加入队列中,每次取出队列顶端的点加入拓扑序列的最后,将它到达的点的入度-1,然后再重复做,直到没有点的入度为0,若最后还是有点的入度大于0,则说明有向图中存在环。 代码: void ad...

weixin_30886233的博客 150

算法整理 & 复习:拓扑排序

拓扑排序 int in[MAXN]; void topsort(){ queue <int>que; for(int i=1;i<=n;i++){ if(!in[i]) que.push(i); } while(!que.empty()){ int u = que.front(); que.pop(); for(int k=head[u];k;k=map[k].next){ int v = map[k].to; int w = map[k].w;

大家好~我是SP_FA~ 194

[算法第一轮复习] 拓扑排序

1.关于拓扑排序    拓扑排序 是将有先后顺序的事物,进行排序,例如挖矿A和B需要先挖好C,则A和B的拓扑排序顺序在C之后    拓扑排序一种将变量大小关系转换为图上结点间连通关系的算法    对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,让图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出

王骕的专栏 618

算法复习---拓扑排序

概念 DAG:有向无环图 拓扑排序:在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点。 基本流程 利用队列,先安排入度为0的点,把这些点指向的点的度数减一,继续寻找入度为0的点 入门博 ...

欢迎光临 我的心 145

拓扑排序复习(处女座的比赛资格)

拓扑排序复习(处女座的比赛资格) xzc 2019/4/2 拓扑排序:   对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集...

Apare_xzc的博客 300

【算法复习】理解拓扑排序原理和应用

说明 拓扑排序,其实就是对一个有向图构造拓扑序列的过程。 如果构造的排序将全部顶点都输出了则说明是一个不存在环的AOV网,如果输出点少于顶点数,则说明存在环,则构不成拓扑排序。 在构成的排序线性顺序中,排在前面的通常都是图中的前置点,比如图中顶点的方向是从顶点4->6 那么在拓扑序列中,4一定会排在6的前面。 原理 通常,这样的线性序列称为满足拓扑次序(Top

qjzl2008的专栏 1876
上一篇: 树状数组C
下一篇: Trie字典树
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值